Git的工作流程:
关于Git需要知道的基本概念:
- 工作区:就是你在电脑里能看到的目录
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。 - 暂存区:
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用
git add
把文件添加进去,实际上就是把文件修改添加到暂存区;第二步是用
git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
工作中会涉及到的Git中的操作:
- 使用记录的哈希值改变HEAD的位置:git checkout C4
- git checkout HEAD~修改工作副本,使其回退到上一个版本
- 可以直接使用
-f
选项让分支指向另一个提交。例如:git branch -f master HEAD~3
上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。 - 在自己电脑上撤销更改(回退到上一个版本,回退前的变动还在,但是处于未加入暂存区状态):git reset HEAD~1
- 为了撤销更改并分享给别人,我们需要使用git revert,这样服务器上的信息就更改了:相当于再提交一次。
-
开发一个新feature,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D <name>
强行删除。
否则通过git branch -d <name>删除。 -
git删除未跟踪的文件:
# 删除 untracked files git clean -f # 连 untracked 的目录也一起删掉 git clean -fd # 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的) git clean -xfd # 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删 git clean -nxfd git clean -nf git clean -nfd