序言
我同样也是新手,这是我在学习git过程中所读到质量上佳的文章,请给位客官食用。
注意:技术文章一定要精读,实操相当重要。大脑可以记住大概的逻辑关系,因为我们大脑只对有规律的事情比较敏感,但会忽略很多的细节,只有实践才会强迫你仔细思考所有细节。
文章推荐:
注意文件状态
- Untracked files
该状态的文件,不被git处理,即使git reset --hard HEAD
也无济于事。若想恢复到初始状态执行git add -A
再执行reset
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
pull
git pull
命令实际就是git fetch
和git merge
命令的组合体,Git从指定的远程仓库抓取内容,然后马上尝试将其合并进你所在的分支当中。
- fatal: refusing to merge unrelated histories
顾名思义:拒绝合并不相关的历史
那么pull orgin master:master --allow-unrelated histories
命令也很人性化,--允许-不相关-历史
学好英语多重要啊。
reset && revert
git reset
是重置HEAD
指针命令。它可以操控HEAD
指向任意版本。
ps:HEAD
指向的库是commit时的库。如果你在
commit
后修改了很多的文件,那么git reset --hard HEAD
将重置Index
到当前版本的最初状态并丢弃workspace
所做的修改。git revert
是在当前版本下撤销某个错误的版本。如果有冲突,需要解决冲突后git revert --continue
ps:如有冲突,git会将 撤销之前最近的一个版本 与 撤销后(包含撤销)修改内容标记起来。手动解决冲突文件,如果此错误版本有新错误文件,那么奖直接删除。
遇到问题日后更新会逐步更新