zoukankan      html  css  js  c++  java
  • 初探Git

    今天闷着头看了半天git,终于明白了git的基本工作原理。想提高你对git的认识,请移玉步到http://progit.org/book/zh,中文翻译很不错,感谢先行的兄弟们!

    以前项目组进行版本管理的时候,采用的是tortoiseSVN,正如某君所说,SVN并非一无是处,但是总有又痛又痒的感觉。学习SVN,我有了和其他人进行版本协作的经验,不过发生合并冲突的机会还是比较少的(一般每个人负责一个单元),常用的操作就是checkout然后coding。不得不说,由于和服务器的交换速度太慢,且小文件居多,每次checkout和commit都非常痛苦。那时候就幻想,为什么版本管理不能放在本地呢……

    后来,做另一个项目的时候,更加晕菜。其实真正写代码的人就两三个,但在实验室写的代码经常要带回宿舍看,一来二去的比较混乱。我们又是那种想到哪改哪的人,出错的时候总想回到原来,要有时光机多好啊。最后实在没办法,想出了一个笨办法,每次成功运行就打包一次,标上日期。那段日子简直是中世纪!!!

    最后,git慢慢进入了我的视野。我开始明白到,分布式版本管理是需要的,但不是最急迫的。我最需要的,是一个版本管理系统协助我进行coding。git有tag,代码每次成熟到一定阶段,就可以打上一个tag,灰常方便。 当然,git最强大的是branch。

    branch是形成git独特的树式管理结构的关键。每次想开始新工作的时候,首先定下一个目标,然后为这个目标新建一个branch,之后的工作就可以在这个branch上开展。忽然,你有冒出了一个更好的点子,没问题,git master能够把你带回到工作的起点。赶快新建一个branch并为之coding,完成!好了,这时候这两个branch可能需要合并了,git merge帮你忙!当一天辛勤工作结束后,就可以执行commit了,注意commit是针对当前branch的。

  • 相关阅读:
    MJRefreshFooterView
    UIActionSheet
    UIAlertView带textField
    SIAlertView
    旋转 锚点
    centos7.2 Apache+PHP7.2+Mysql5.6环境搭建
    ubuntu16.04 mysql 开启远程连接
    Ubuntu16.04重新安装MySQL数据库
    Ubuntu16.04彻底卸载MySQL
    laravel框架基础(2)---laravel项目加载机制
  • 原文地址:https://www.cnblogs.com/Lifehacker/p/first_time_I_use_git.html
Copyright © 2011-2022 走看看