git的学习——工作区,暂存区,版本库以及版本回退

时间:2024-04-01 13:31:03

git作为一个分布式的多人共同开发代码的工具,真的很好用,git的工作流程一般为如下几个步骤:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

1) git工作区,暂存区和版本库的学习:

工作区: 工作区就是电脑上能看到的目录 。

git的学习——工作区,暂存区,版本库以及版本回退

版本库:工作区中有个隐藏文件.git,这个隐藏文件.git就是版本库。

git的学习——工作区,暂存区,版本库以及版本回退

暂存区: 在.git目录下有个index文件,该文件就是暂存区,或stage、index,

git的学习——工作区,暂存区,版本库以及版本回退

 2) 工作区、暂存区和版本库3者之间的关系。

git的学习——工作区,暂存区,版本库以及版本回退

 

 

一些提交相关的命令:

git add 是将工作区的改动提交到暂存区index中。

git commit 是将暂存区的所有改动提交到当前分支。

git的学习——工作区,暂存区,版本库以及版本回退

git的学习——工作区,暂存区,版本库以及版本回退

利用命令git log查看提交代码历史情况。

git的学习——工作区,暂存区,版本库以及版本回退

从上面情况可以看出刚才的提交只是提交到分支了,并没有push到远端仓库。

如果嫌输出的提交历史过多,则可用 git log --pretty=oneline 命令。

git的学习——工作区,暂存区,版本库以及版本回退

版本回退:

git rset --hard 

代表将版本回退到当初提交的那个commit,commit id可以不同写全,写出前几位就行,git会自动查询。

git的学习——工作区,暂存区,版本库以及版本回退

其中 git reset --hard HEAD^  是指回退到上一个版本,其中HEAD是指最新一次的改动。

git的学习——工作区,暂存区,版本库以及版本回退

git reset HEAD <file>可以把暂存区的修改撤销掉(unstage),重新放回工作区。

git reflog 可以记录你输入的每一条命令。

git的学习——工作区,暂存区,版本库以及版本回退

git checkout  撤销在所有工作区的修改。