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

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

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

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

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

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

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

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

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

少即是多。

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

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

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

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

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

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

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

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

  1. Git基本上不删除数据。即使是那些看起来是删除数据的操作,实际上是为了让你更快的撤销删除,而在向系统添加数据。
  2. Git基本可以撤销所有操作。我鼓励你更多的实验和探索你的想法,因为这就是使用版本控制系统系统的最主要的好处之一。
  3. 你团队的每一个成员都在他/她的计算机中有各自的副本。本质上这更像是整个版本控制项目中的冗余备份(包括包括整个历史纪录),你捅了大娄子而且还没办法还原这种情况是极其少见的。

第四条:理解分支概念

在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学习------>写给 Git 初学者的7个建议的更多相关文章

  1. Git学习系列之Git基本操作提交项目(图文详解)

    前面博客 Git学习系列之Git基本操作克隆项目(图文详解) 然后可以 cd 切换到 LispGentleIntro 目录, 新增或者修改某些文件.这里只是模拟一下操作, 实际情况可能是 使用 Ecl ...

  2. Git学习系列之Git基本操作拉取项目(图文详解)

    前面博客 Git学习系列之Git基本操作推送项目(图文详解) 当然,如果多人协作,或者多个客户端进行修改,那么我们还要拉取(Pull ... )别人推送到在线仓库的内容下来. 大神们是不推荐使用 pu ...

  3. Git学习系列之Git基本操作推送项目(图文详解)

    前面博客 Git学习系列之Git基本操作提交项目(图文详解) 如果完成到一定程度,那么可以推送到远端在线仓库. 推送之前,请确保你已经设置了全局的 user.name 和 user.email, 如果 ...

  4. Git学习系列之Git 的缺点有哪些?

    不多说,直接上干货 前面,谈及了 Git学习系列之Git 的优势有哪些? 缺点: (1)资料少(起码中文资料很少). (2)学习周期相对而言比较长. (3)不符合常规思维. (4)代码保密性差,一旦开 ...

  5. Git学习系列之Git是什么?

    前言 现在主流IDE里,都集成git了. https://git-scm.com/docs 史上最浅显易懂的Git教程! 为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google ...

  6. Git学习系列之Git产生的背景

    不多说,直接上干货! 史上最浅显易懂的Git教程! 为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指 ...

  7. Git学习1:Git起步

    本系列文章部分原理和命令相关内容是从 https://git-scm.com/book/zh/v2 摘录,软件实际使用是总结自己的实践经验成文. 1. 关于版本控制 版本控制是一种记录一个或若干文件内 ...

  8. mzy git学习,初识git(一)

    GIT学习 git工作区.暂存区.本地库.远程库 工作区:实际上我们工作的地方,进行写代码或者文件的地方. 暂存区:我们执行了git add 操作之后,就会被提交到暂存区. 本地库:其实最后我们需要执 ...

  9. git学习 #2:git基本操作

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

随机推荐

  1. 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体解释

    转载请注明来源: http://blog.csdn.net/kjunchen/article/details/50909410 使用BleLib的轻松搞定Android低功耗蓝牙Ble 4.0开发具体 ...

  2. JS高程3:函数表达式

    定义函数的方式有2种: 函数声明 函数表达式 函数声明是最常用的,函数声明的一个特征就是:在执行代码之前,就已经读取了函数声明. 这个特征还有一个专门的术语:函数声明提升. 递归函数 所谓递归函数,就 ...

  3. 5.14日学习内容1:jquery表单相关知识

    <script> $comment.animate({height:'+=50'},400);//在原来的基础上加50: $('.smaller').click(function(){ i ...

  4. tomcat 内存溢出原因分析及解决

    一.错误提示:java.lang.OutOfMemoryError: Java heap space [原因分析] tomcat默认可以使用内存为128MB,在较大型的应用项目中不足以满足运行要求,在 ...

  5. Swift-9-类和结构体

    // Playground - noun: a place where people can play import UIKit // 几个重要的概念Properties/Methods/Subscr ...

  6. Swift-7-闭包

    // Playground - noun: a place where people can play import UIKit // swift 中闭包与C和OC中的blocks比较相似 // 1. ...

  7. Flash AS 2.0右键菜单问题

    这几天都在忙这个右键菜单,因为之前的右键菜单都不能用了,必须做新的. 可是又必须使用原来2.0的接口和方法,真是忙的焦头烂额. 之前2.0的东西太多又太杂. 我头一个右键菜单和二级菜单没有问题了,做第 ...

  8. [ppurl]从”皮皮书屋”下载电子书的姿势

    (欢迎转载,转载请注明出处:http://blog.csdn.net/hcbbt/article/details/42072545) 写在前面的扯皮 为什么标题的"皮皮书屋"加上了 ...

  9. openwrt U盘启动

    参考链接: http://m.blog.csdn.net/blog/zcynical/44892785

  10. 认识tornado(五)

    Tornado 自带了模板系统,模板语法与 Django 差异不大.这里简单地介绍如何使用 Tornado 的模板系统. 首先是编写 URL 规则与 Handler: 01 class NowaMag ...