标签:
如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:
过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。 看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。 多人合作写一篇文档的时候需要把你的改动和她的部分合并,真困难。
解决方法:于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便? 这个软件用起来就应该像这个样子,能记录每次文件的改动:
版本 用户 说明 日期
1 张三 删除了软件服务条款5 7/12 10:38
2 张三 增加了License人数限制 7/12 18:09
3 李四 财务部门调整了合同金额 7/13 9:51
4 张三 延长了免费升级周期 7/14 15:17
这样,你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。
重复2.3.4就会形成一条版本线。单击每个版本节点,可以很容易的知道修改了第几行,添加了哪些文件。
工作区 暂存区 带指针的树形仓库
你会问,什么是修改?比如你新增了一行,这就是一个修改,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,甚至创建一个新文件,也算一个修改。
先用git clone来下载远程项目的全部文件
如果觉得本地文件不是很新,远程项目可能已经更新,使用fetch命令获得更新,然后merge与本地文件混合。
与远程github项目进行关联
因此,多人协作的工作模式通常是这样: 1. 首先,可以试图用git push origin branch-name推送自己的修改; 2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;pull(fetch+merge) 3. 如果合并有冲突,则解决冲突,并在本地提交; 4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功! 5. 如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch –set-upstream branch-name origin/branch-name。 这就是多人协作的工作模式,一旦熟悉了,就非常简单
github上的fork相当于复制仓库
Pull request 将自己改动合并到原始库,做贡献, (需要原始库维护者的同意)
操作git-gui来进行回顾!!
好处
标签:
原文地址:http://blog.csdn.net/laiqun_ai/article/details/51346084