git笔记 | 青训营

126 阅读3分钟

git基础指令

  1. git add:将工作区中已修改的文件添加到暂存区,准备提交到本地仓库。
    // git add <文件名>
    // 添加名为 `myfile.txt` 的文件到暂存区
    git add myfile.txt
    
  2. git commit:将暂存区中的更改提交到本地仓库,创建一个新的历史提交。提交时需要提供一个有意义的提交信息,以便说明本次提交的目的和更改内容。
    git commit -m "提交信息"
    
  3. git push:将本地仓库中的更改推送到远程仓库,实现代码共享和协作。
    git push origin <分支名> // <分支名>是要推要推送的分支的名称
    
  4. git status:显示工作区中文件的状态,告诉你哪些文件被修改过、哪些文件已添加到暂存区以及哪些文件还未被跟踪。

git的四个区域

  • 工作区(Working Directory): 工作区是实际存放项目文件的地方,也是你进行代码编辑和修改的地方。工作区中的文件可能包括已修改的文件、新添加的文件和已删除的文件。
  • 暂存区(Staging Area): 暂存区是介于工作区和本地仓库之间的一个中间状态。你可以使用 git add 命令将工作区的更改添加到暂存区,以准备提交到本地仓库。
  • 本地仓库(Local Repository): 本地仓库是存储 Git 提交历史和版本信息的地方。当你使用 git commit 命令将暂存区的更改提交时,这些更改就会保存到本地仓库中。
  • 远程仓库(Remote Repository): 远程仓库是存放在远程服务器上的 Git 仓库,通常用于协作开发和共享代码。你可以使用 git push 命令将本地仓库中的提交推送到远程仓库,与团队成员共享代码。

git的文件状态

使用git addgit commit可以更改文件状态,可以通过git status查看工作区和暂存区的文件状态。常见的文件状态有以下几种:

  • 未跟踪(Untracked) :文件尚未被Git跟踪,即它不在Git的版本控制之下。
  • 已修改(Modified) :文件在上一次提交之后发生了更改,但这些更改尚未被添加到暂存区。
  • 已暂存(Staged) :文件的更改已经被添加到暂存区,准备在下一次提交中被记录到版本库。
  • 已提交(Committed) :文件的更改已经被提交到本地版本库中,形成一个永久的历史记录。

git的回滚

当你面对不同的Git场景时,你可以使用以下命令来处理不同的情况:

场景1:当你修改了工作区某个文件的内容,想要丢弃修改,回到原始文件状态时,可以使用以下命令还原:

git checkout -- <file>

这将撤销工作区中对 <file> 文件的修改,恢复到最近一次提交的状态。

场景2:当你修改了工作区某个文件的内容,并通过git add将文件添加到了暂存区,但想要丢弃本次添加时,可以分两步操作:

第一步,将暂存区的修改移回工作区:

git reset HEAD <file>

第二步,使用与场景1相同的命令来还原文件内容:

git checkout -- <file>

这样,你就回到了原始文件的状态。

场景3:当你通过 git commit 将不合适的修改提交到版本库并想要丢弃本次提交时,可以使用以下命令回退到上一个版本:

git reset --hard HEAD^

这将撤销最新的提交并恢复到上一个提交的状态。

此外,如果你想要回退到特定的提交,你可以使用 git reset --hard <commit_id> 命令。你可以通过 git log 查看提交历史,或者使用 git reflog 查看命令历史来获取 <commit_id>

综合上述场景和命令,你可以根据具体情况选择合适的操作来回滚、还原或撤销文件的更改和提交。