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到远程库。


answer: $ git commit

                $ git commit

1.2 Branching in Git

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


answer: $ git checkout -b bugFix

1.3 Merging in Git

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


answer:$ git checkout -b bugFix

               $ git commit

                $ git checkout bugFix

                $ git checkout master

                 $ git commit

                 $ git merge bugFix

1.4 Rebase Introduction

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


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调整变化指向新分支的最尖端。


answer:$git checkout C4

2.2 Relative refs (^)

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


answer:$ git checkout C4

2.3 Relative refs #2 (~)

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


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却可以撤销更改并且告诉大家我更改回去了。


answer: $ git reset local~1

                $ git checkout pushed

                $ git revert pushed


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,737评论 9 163
  • Git是目前最流行的版本管理系统,也是最先进的分布式版本控制系统(distributed version cont...
    pro648阅读 5,791评论 1 17
  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,648评论 1 26
  • 爱情,如同做菜,火候至关重要。一不小心没把握好,就是一锅难吃的菜,谁也不想入口。 今天下午罗晋在微博上公开给唐嫣过...
    玖月成长记阅读 775评论 9 11
  • 三年已过,朝五晩九的生活也已一去不复返,很难想象我到底是如何度过我的高中生涯的。 我一直在思考高中我到底苦在哪...
    方佳灏阅读 426评论 0 0