最好的Git的教程个人认为是:Git教程-廖雪峰,里面的内容很丰富,干货满满。与Git教程的全面性不同,本文旨在整理一下常用的Git操作或基础知识点。
-
1、电脑里能看到的git管理的文件夹,就是一个工作区
-
2、git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支
-
3、为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件
-
4、
git checkout -- readme.txt
丢弃对readme对修改 git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”(修改还没有git add) -
5、
git reset HEAD readme.txt
git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区, 再用git checkout 放弃对工作区对修改 -
6、
git push -u origin maste
r第一次提交,git push origin maste
r推送最新修改 -
7、git branch命令会列出所有分支,当前分支前面会标一个*号
-
8、
git checkout -b dev
创建新分支,并切换 =git branch <name> + git checkout <name>
-
9、master与feature都各自有新的提交,就无法执行简单都Fast-forward了,需要手动合并
-
10、git log --graph 查看分支合并图
-
11、stash工作流程为:
git stash + git checkout -b issue-101 + git add readme.txt + git commit -m "fix bug 101" + git checkout master + git merge --no-ff -m "merged bug fix 101" issue-101 + git stash list + git stash apply (git stash drop/pop)
-
12、用--no-ff强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。【加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。】
-
13、在不合并的情况下,强行删除某分支:
git branch -D feature-vulcan
-
14、创建关联分支:
git checkout -b dev origin/dev
-
15、忽略某些文件时,需要编写.gitignore;.gitignore文件本身要放到版本库里,并且可以对.gitignore做版本管理
网友评论