Git常用常熟学习记录

        这篇其实写出来意义不大,git怎么学习,怎么熟,多用就好了啊,推荐廖雪峰老师的git学习教程、和所有能Google出来的技术博客和技术教程。有一些趣味性很足的的git在线学习,推荐tryGit和Learn Git Branching。

         Git只是一个工具,用不用它,都是个人的选择,你觉得好,工作提升了效率,那就接着用呗,你要觉得我不用照样写代码写的好好的,也行。工具也会变,也会迭代,要学会理解git思考的方法和存在的意义。

         Learn Git Branching这个学习方法很有意思,思考性和趣味性很足,也有助于理解,我就解题来帮助理解一下Git这个工具(不常用到的,不写了)。

1.1 Introduction to Git Commits

       commit像一个更大更好的粘贴复制,提交轻便,不只是提交时复制整个目录,更可以提交一组变化一个增量。

        在commit过程中,尽量变化都是有意义的,提交才是有意义的。另外commit是在本地,要push到远程库。


Git常用常熟学习记录_第1张图片

answer: $ git commit

                $ git commit

1.2 Branching in Git

        分支个人的理解是,我要把某个功能添上去,bug给修好,又不能妨碍人家工作,我就默默拉出条线来自己干,做完之后,我再合并回去,谁都不影响。这上面写的一句话「branch early, and branch often」觉得很有意思,早早分支,多多分支,你们感受一下。


Git常用常熟学习记录_第2张图片

answer: $ git checkout -b bugFix

1.3 Merging in Git

       这个就是上文说的把自己干好的活合并回去。


Git常用常熟学习记录_第3张图片

answer:$ git checkout -b bugFix

               $ git commit

                $ git checkout bugFix

                $ git checkout master

                 $ git commit

                 $ git merge bugFix

1.4 Rebase Introduction

       这是把工作结合起来的第二种方法,不是那种合并起来,而是把一系列的commit复制下来,优点是commit的提交序列很好,提交日志和仓库历史很干净。


Git常用常熟学习记录_第4张图片

answer: $ git checkout -b bugFix

                $ git commit

                 $ git checkout master

                 $ git commit

                 $ git checkout bugFix

                  $ git rebase master

2.1  Detach yo’ HEAD

        什么是HEAD,Stack Overflow上面的高票回答很好,我觉得没有比这个更好的解释,他的意思是你可以把它看做“当前分支”,当你用 git checkout切换分支的时候,HEAD调整变化指向新分支的最尖端。


Git常用常熟学习记录_第5张图片

answer:$git checkout C4

2.2 Relative refs (^)

        通过明确的commit哈希数在git中移动,而在终端里你需要用git log来查看哈希数值,哈希值有点长,Git关于哈希数很聪明,你只需要指定足够的哈希值来确定唯一提交就行,而不需要键入一长串。


Git常用常熟学习记录_第6张图片

answer:$ git checkout C4

2.3 Relative refs #2 (~)

"~"符号可以帮助你在commit树上移动。比如 「git checkout HEAD~4」就可以帮助你返回一连串的提交。Branch forcing 「git branch -f  branchName  location」可以非常快速的移动一个分支到指定位置.


Git常用常熟学习记录_第7张图片

answer: $ git branch -f  master  C6

                $ git branch -f  bugFix  C0

                 $ git checkout C1

2.4  Reversing Changes in Git

在 Git 里主要用两种方法来撤销变动 —— 一种是 git reset,另外一种是 git revert。git reset往回移动分支,来撤销更改,但是这只是对自己本地分支进行更改,revert却可以撤销更改并且告诉大家我更改回去了。


Git常用常熟学习记录_第8张图片

answer: $ git reset local~1

                $ git checkout pushed

                $ git revert pushed


因为后面的命令不常用,所以不写了, 但挑战更有难度,也很有意思,各位可以做着试试看。

你可能感兴趣的:(Git常用常熟学习记录)