轻松使用SourceTree进行代码版本管理

以前刚刚接触SourceTree的时候,觉得很简单,遇到冲突了去包文件里面删掉那些明显的标记,然后在谁也不知道谁删掉了谁的文件的情况下,只要不报冲突就算是自己给自己的版本推上去了,这样明显不是SourceTree的初衷
(其实我以前就是这么干的...现在觉得自己还是too young too naive...)
幸好,在我的老大Thomas的指引下,和我的好同事Poul的共同探讨+实践下,应该算是弄明白了SoucreTree的使用

大家都知道git是分布式的代码管理工具,理论上面大家都明白,可是实践高于理论,那么请尝试着采用以下的方法来理解它的原理吧!

准备工作

第一步:创建自己的本地分支

(服务器配置工作暂时不说了,这不是本文的重点)

你需要打开SourceTree,注意右侧BRANCHES,REMOTES,(如果你是第一次使用SourceTree的话,这个BRANCHES的类目下面基本上只有一个master,这个master是本地的master,REMOTES这个类目下也有一个master,这是服务器远端的master)

关键点:我们在BRANCHES这个类目下新建一个branch
方法如下图:

317264EB-EF22-4EDA-8E3F-2FB18085A37A.png

为了代码管理的方便,我们尽量遵循

  • 只能让本地的master向远端的master进行提交工作
  • 忽略工程中二进制文件的改动(建议将二进制文件与代码文件区分路径存放,这样在暂存的文件中我们比较容易识别出哪些文件可以不进行commit,以避免不必要的冲突)
  • 还有不得不说的是,尽量在提交和合并的时候完全Quit出XCODE

工作流程

上班第一件事:merge

上班第一件事就是从服务器拉取其他同事的代码到本地进行merge
我们所要做的就是按照如下进行:

  1. 右击自己新建的DEV,选择checkout到master上,(如果已经是master就不需要切换了----如何分辨出当前在哪个分支下?答:当前的分支是粗黑体)中文版本为检出到master
  2. 然后点击fetch,从远端获取最新动态
  3. 然后点击merge,选中到最新的节点,OK即可
  4. 最后再checkout到自己新建的DEV,右击master选择merge master into DEV

这样就完成了合并代码

下班最后一件事:commit

务必记住在开始代码编写工作前请先checkout到DEV,直到工作完成,我们来commit代码

  1. commit自己写的的文件,这样自己的文件就被提交到了自己的DEV分支中
  2. checkout到master,然后右击DEV,选择merge DEV into master
  3. 将working space中不需要commit的文件或者需要解决冲突的文件discard掉
  4. push到远端即commit成功
  5. 注意提交成功后切换到DEV

最后附上一些参考资料,感兴趣的可以看看

中英文版本的GIT Document

感谢你们!


2016.2.24补充:
当我编写代码完成,发现远端有新动态,此时的操作:

  1. 先将Working Copy中需要commit的文件commit到DEV上(在comment区域做上自己的版本注释)
  2. 切换到master上,选择merge DEV into master(此时SourceTree会告诉你,你当前落后了多少超前了多少,如果没有这样的提示,就fetch一下远端)
  3. 进行merge(将本地的master与远端的master进行合并)
  4. 没有问题,push到远端
  5. 切换到DEV,选择merge master into DEV

2016.3.2补充一:
除了使用merge的方式和代码,还有一种是rebase,探索中......
2016.3.2补充二:(IMPORTANT----可有效避免冲突的发生频率)

E5A8EE98-853A-4888-AB1B-40B4C6834B8F.jpg

在SourceTree的设置中,如上图修改文件为以下文件

Mac OSX

*.DS_Store

Xcode

*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
*.xcuserstate
project.xcworkspace/
xcuserdata/

#Git
.gitingore
.gitingore.swp


2016.3.8补充:
尽量不要使用pull,我的理解是pull是一种强制将远端拉取下来,所以尽量使用fetch吧,这样才能更好的合代码
另外,在遇到冲突时,可以进workingcopy去看看是什么文件冲突,右边会有红绿色块,并且也会有冲突标记,在这里,你可以进行选择性discard(丢弃)不需要的代码来解决冲突

按照上述的工作方式,我已经和同事合作了一段时间,效果还不错,给我们的工作带来很多便利
如果有任何问题可以问我,我尽量解决~O(∩_∩)O

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容

  • 因为原文太长超出字数,Lesson 3 就放在另一篇文章里 How to Use Git and GitHub 标...
    赤乐君阅读 5,118评论 1 5
  • 源代码管理工具的起源 为什么会出现源代码管理工具? 为了解决在软件开发过程中,由源代码引发的各种蛋疼繁琐问题 源代...
    小白文_Vincent阅读 3,080评论 2 8
  • 顺序:房,路,树,秋千,人,草,花 性别:男 年龄:24 想要解决问题: 毕业两年依旧迷茫,对未来特别焦虑。不清楚...
    喜拓斋阅读 553评论 2 2
  • 西南联大起于忧患。 “七七事变”,日本全面侵华,中国全面抗战爆发,日军自北而上入侵,北大、清华、南开这三所大学被迫...
    北冥有鱼呀阅读 1,771评论 1 9
  • 生命最是无常,也最是情理之中。 此刻的思绪是被外面的鞭炮声引起的,鉴于最近发生的事,我心觉这“声”怕也...
    等冬阅读 233评论 0 0