git基础指令
git add:将工作区中已修改的文件添加到暂存区,准备提交到本地仓库。// git add <文件名> // 添加名为 `myfile.txt` 的文件到暂存区 git add myfile.txtgit commit:将暂存区中的更改提交到本地仓库,创建一个新的历史提交。提交时需要提供一个有意义的提交信息,以便说明本次提交的目的和更改内容。git commit -m "提交信息"git push:将本地仓库中的更改推送到远程仓库,实现代码共享和协作。git push origin <分支名> // <分支名>是要推要推送的分支的名称git status:显示工作区中文件的状态,告诉你哪些文件被修改过、哪些文件已添加到暂存区以及哪些文件还未被跟踪。
git的四个区域
- 工作区(Working Directory): 工作区是实际存放项目文件的地方,也是你进行代码编辑和修改的地方。工作区中的文件可能包括已修改的文件、新添加的文件和已删除的文件。
- 暂存区(Staging Area): 暂存区是介于工作区和本地仓库之间的一个中间状态。你可以使用
git add命令将工作区的更改添加到暂存区,以准备提交到本地仓库。 - 本地仓库(Local Repository): 本地仓库是存储 Git 提交历史和版本信息的地方。当你使用
git commit命令将暂存区的更改提交时,这些更改就会保存到本地仓库中。 - 远程仓库(Remote Repository): 远程仓库是存放在远程服务器上的 Git 仓库,通常用于协作开发和共享代码。你可以使用
git push命令将本地仓库中的提交推送到远程仓库,与团队成员共享代码。
git的文件状态
使用git add或git 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>。
综合上述场景和命令,你可以根据具体情况选择合适的操作来回滚、还原或撤销文件的更改和提交。