查看原文
其他

写给 Git 初学者的7个建议

伯乐专栏/吴鹏煜 CPP开发者 2021-07-20

(点击上方公众号,可快速关注)


编译:伯乐在线 - 吴鹏煜   
英文:sixrevisions
如有好的文章投稿,请点击 → 这里查看详情


当我刚刚开始使用Git的版本控制时,我根本不确定我付出那么多时间是不是会得到回报。Branch、Stage、Stash,这些Git名词对我来说都非常陌生。


而今天的我已不能想象生活没有Git会变成什么样。Git不仅提供了我非常需要的版本控制功能,还让我变成一个更优秀的程序员。


这里有一系列可以帮助你的小贴士,可以让Git成为你开发工作中非常重要的一部分。


第一条:花时间去学习Git的基本操作


学习Git的基本操作并不是要求你把整个Git文档从头到尾读完(但如果这就是你的方式,我也不会反对)。


Git里面有太多的教育内容,我很确定里面一定有对你胃口的最佳学习方式。



看一下以下这些Git学习资源吧:


  • 怎么快速开始使用Git

  • 试试Git – 15分钟的Git交互教程

  • 提示和技巧(Ry的Git教学)是常见Git功能的实践教程

  • Git简单指南

  • Git Ready是一个收藏有许多简单而简短的Git提示的网站

  • Git作弊码

  • Git Tower学习区是一个在我的网站上的Git学习资源列表

  • Git官方教程

  • Training: Git Basics (视频)是YouTube上的一个视频列表

  • Pro Git一本让你深入了解Git的在线书籍


第二条:从简单的Git工作流开始


少即是多。


常常的,Git会和一个复杂的工作流联系起来。不过我可以这么说:你还暂时不需要为了Git的诸多好处,而一下子变成Git大师。


Git的工作流是可以非常简单的 —- 而且在许多情况下你需要的就是这么简单。你当然可以用multiple remote repositories、issue pull request、rebase changes等等,但是你不想用这些的话完全可以不用。


从简单的工作流入手也会使日后添加复杂性或者使用Git高级功能变得简单。当你需要使用这些功能的时候,Git已经准备好了。


这里有一些不同的Git工作流的例子,你可以从他们的想法中得到启发


  • 设计者的Git工作流

  • Markus Prinz的Git工作流

  • Yehuda Katz的普通Git工作流

  • Agile团队的Git工作流


总的来说:不要因为觉得Git什么都要学就压力很大,你完全可以从今天开始使用Git。


第三条:不要再害怕犯错误


Git最出色的一点是:它几乎是100%易上手误操作的。


记住以下几点会让你晚上睡得更香:


  1. Git基本上不删除数据。即使是那些看起来是删除数据的操作,实际上是为了让你更快的撤销删除,而在向系统添加数据。

  2. Git基本可以撤销所有操作。我鼓励你更多的实验和探索你的想法,因为这就是使用版本控制系统系统的最主要的好处之一。

  3. 你团队的每一个成员都在他/她的计算机中有各自的副本。本质上这更像是整个版本控制项目中的冗余备份(包括包括整个历史纪录),你捅了大娄子而且还没办法还原这种情况是极其少见的。


第四条:理解分支概念


在Git里面,分支这个概念是你一开始能学到的最有用的东西了。分支允许你隔离开发你的项目,而要想成为一个高效的Git用户,这是非常关键的一点。


一开始这听起来好像不是什么大事,但一旦你完全的理解了分支概念,你会开始想没有这个你怎么活下去。


尽管其他的版本控制系统也会使用分支概念,Git是第一个实现它,并让它变的好用的系统。



这里有一些有助你了解Git分支概念的资源:


  • LearnGitBranching!是一个Git分支的交互式教程

  • Git基本分支和合并

  • 分支术是一个Git分支和合并的简短介绍

  • Git分支是一个很多绘图的Git教程

  • 《一个成功的 Git 分支模型》


第五条:学习暂存区


当你的提交里面只包含一些相关的变化时,版本控制会变的非常有用[b],它保证了你的提交可以被没有任何副作用的回滚,经常提交的习惯也可以让你的同事更好的了解你的进度。


Git有个功能叫暂存区让这一切都变为可能


学习使用暂存区,并爱上它,因为这是Git里面最重要最独立的一个模块。


  1. 为什么暂存区那么有用

  2. 用暂存区的好处在哪 —- 一个有关Git暂存区的讨论主题

  3. 啊哈!学习Git的那些时候 —- 一篇博客文章

  4. Git上有关暂存区的简短教程


第六条:用Git图形界面


尽管使用图形界面绝对不会是一个要求,但我还是高度推荐使用。


使用图形界面让大多数操作都变得简单,让你在项目开始时便占尽优势。


不管怎么说,使用Git不应该只是记住各种命令和参数,而是改进你的编程工作流。如果图形界面可以做到这一点的话,没有理由让简单的事变的困难嘛。



看一下这些Git界面吧:


  • Tortoise Git – Windows平台下的开源Git图形界面

  • GitX(L) – Mac OS X下的开源Git客户端

  • SourceTree – Windows和Mac下的免费Git或Mecurial界面

  • git-cola – 一款开源Git界面

  • Tower – 我们公司为Mac用户所出的Git界面


使用图形界面并不能减轻你学习Git基础的负担,不过一旦你快乐的征服了Git,使用这些工具会让你的生活变得更轻松。


第七条:对自己承诺你会用Git


使用一个新工具一开始会让人非常头疼,走过这条学习曲线的方法只有一个:继续走下去。


做一个充分的承诺,不要回头。在你平常的工作流里引入Git很快就会被证明这是你近期做的最大的,最有意义的决定。


避免这种情况:「我会在这个项目里使用Git,但其他项目就再说了。」至少一开始不要这样。


充分承诺的这种心态会让你有更多的机会去练习,让事情变得更加简单,因为你知道你现在这个项目用了版本控制系统。而更重要的是,让Git成为你的编程习惯。


未来不久,你就会看到只有那么一些情况不需要用到Git,


对自己做一个100%的承诺,作为Git征服之路的开始。


由于微信限制外链,点击「阅读原文」查看前文提到的资源


看完本文有帮助?请分享给更多人

关注「CPP开发者」,提升C/C++技能

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存