写给Git初学者的7个建议

当我刚刚开始使用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征服之路的开始。

写给Git初学者的7个建议相关推荐

  1. git学习------gt;写给 Git 初学者的7个建议

    PS:本文转载于(http://blog.jobbole.com/50603/),本文由 伯乐在线 - 吴鹏煜 翻译. 英文出处:(http://sixrevisions.com/web-develo ...

  2. 10篇写给Git初学者的最佳教程

    转载自:http://paranp_w_picpath.com/best-git-tutoritals-for-beginners/ 10篇写给Git初学者的最佳教程 00 300x109 10篇写给 ...

  3. 写好 Git Commit 信息的 7 个建议

    介绍: 为什么好的提交信息如此重要 当你随意浏览任一 git 仓库的日志,你很可能会发现其中的提交信息或多或少有点乱.举个例子,瞧一瞧我早先提交到 Spring 上的这些宝贝: $ git log - ...

  4. 转载:一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...

  5. 浅谈编程能力的培养与提高——写给编程初学者的话

    任何科技前进的方向永远都是让更多的人能够更轻松的掌握和使用,因此计算机语言也已经不再是什么高深莫测的天书,很多非计算机专业出身的人都能使用计算机语言来编写程序.无论是一个计算机爱好者,还是一个从事计算 ...

  6. 写给 Linux 初学者的一封信

    这篇文章是写给 Linux 初学者的,我会分享一些作为初学者应该知道的一些东西,这些内容都是本人从事 Linux 开发工作多年的心得体会,相信会对初学者有所帮助.如果你是 Linux 老鸟,那可能就不 ...

  7. (转)一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...

  8. linux服务器好管理吗,给初学者Linux服务器管理建议

    一.学习linux的注意事项 1.linux严格区分大小写 linux的文件名,目录,命令,配置文件设置选项等都区分大小写.这一点和window不一样 2.Linux中所有内容以文件形式保存 包括硬件 ...

  9. Unity初学者学习路线与建议

    Unity初学者学习路线与建议 目录 Unity初学者学习路线与建议 一.前言 二.我的学习建议 三.学习要点 一.前言 Holle大家好,先自我介绍一下,我现在大二,专业是数字媒体技术,方向是游戏制 ...

最新文章

  1. 为什么不建议直接使用 Async 注解?
  2. Java 多线程(七) 线程间的通信
  3. linux中mbr最大多少分区,Linux与磁盘分区介绍(MBR,GPT)
  4. wxpython开发的软件_Python GUI开发环境的搭建(wxPython)
  5. leetcode1438. 绝对差不超过限制的最长连续子数组
  6. API网关从入门到放弃
  7. 大智慧找不到服务器,【图】大智慧官方居然没有全推服务器请老师解决_股票软件,股票指标,炒股,股票论坛,选股公式_股票软件技术交流论坛_理想论坛 - 股票论坛...
  8. struts的比较标签,在使用时,与测试时需要留心。
  9. 自学linux指令分析-mkdir
  10. 华为捕苹果,小米做黄雀
  11. 025:模版变量使用详解
  12. 【图像处理】基于matlab GUI自动报靶系统(重弹孔)【含Matlab源码 973期】
  13. AutoCAD自定义填充图样详细教程
  14. 完美解决python3.6环境下,使用pyinstaller打包.exe时报错的情况。
  15. 求递推数列通项的特征根法
  16. 有哪些有关java类最新发表的毕业论文呢?
  17. android assets 编译,使用Android Studio编译assets文件未打包进apk
  18. android启动接受不到boot_complete广播,android-BOOT_COMPLETED从未收到
  19. 前端插件:雪碧图(多图压缩为一张)
  20. 列表中循环添加字典出现覆盖现象的问题

热门文章

  1. python实现批量转换文件编码(批转换编码示例)
  2. printf利用转译字符在终端显示进度条(时钟)-zhuan
  3. 使用FFMpeg进行H264编码
  4. 【iOS】Touch Drag Inside 和 Touch Drag Outside、Touch Drag Enter、Touch Drag Exit的区别
  5. 蓝桥杯 ADV-177算法提高 理财计划
  6. [GIT] warning: LF will be replaced by CRLF问题解决方法
  7. Kotlin StandardKt 标准库源码走一波
  8. 新站结合熊掌号的实际操作 实现当天收录
  9. Spring MVC 之 请求url 带后缀的情况
  10. JavaScript------表单约束验证DOM方法