我对git和sourcetree的使用

先去熟悉一波git和sourcetree的基础 知识。

然后就开始我的git和sourcetree之旅:

几个概念先解释一遍:

项目代码仓库:也就是你在git后台看到的gametea/GameLobby,其中GameTea就是项目组的代码仓库路径,后面的GameLobby,就是具体的项目了。

自己代码仓库:一般开发人员并不是在项目仓库代码上开发的,而是执行下面的步骤4生成自己的代码仓库,eg:金鑫/GameLobby,然后在自己的代码仓库开发,开发完成之后,再请求合并到项目代码仓库中(记住一个概念,这里fork出来自己的代码仓库之后,你就彻底和项目的代码仓库脱离关系了,也就是说项目代码那边如果后续有新的更新,你这边也不会有变化。至于如何更新项目代码仓库的代码到自己这边,请看下面步骤13)

本地代码仓库:就是执行下面的7~11步骤,拉到本地的代码,这时候就有一个本地的代码仓库了,每天写的代码,是可以先提交到本地代码仓库的,等开发完成,再提交到线上自己的代码仓库(用的地方:当处在离线状态时,这时候不能提交线上的代码仓库,但是又要区分记录每天都干了什么的时候,就可以先提交到本地的代码仓库中,等有网络了,再提交到线上的代码仓库中。实际开发的时候这样的情况比较少,但是这个概念需要知道。)

Branch分支,每次开发新功能的时候,都需要创建新的分支来开发,当功能测试完成,可以上线的时候,就合并到主干中。

Master主干代码(其实也是一种分支,只不过是特殊的分支),这个主干代码要保证稳定性,也就是说别人拉的代码都是可以跑的,可以发布的。

Tag标签。当一个版本开发完成,代码也从分支合并到主干之后,就可以打Tag了。特别是要发热更新了,就更要打Tag,方便之后热更新出问题了,可以从这个tag去调试。


1.如果你没有git账号,就找:哆啦A梦—栾乐 开一个git账号,需要给她提供你的域账号

2.开好账号找项目负责人开具体代码权限

3.进入git后台,进入project项目目录,点击项目

4.点击里面的fork按钮,fork出自己的代码仓库

5.

6.这时候回到project目录,就有一个自己的代码仓库

7.点进去,复制里面的代码地址,然后打开sourcetree

8.新建本地代码仓库,将线上的代码拉到本地仓库中


9.

10.注意一定要勾选递归子模块。

11.其中检出分支,填写需要开发的分支

12.填写好之后,点击克隆,拉自己代码仓库的这个分支代码到本地仓库中。

13.将项目代码仓库关联过来,操作步骤:点击仓库中的项目设置:


然后点击弹出界面的“添加”按钮

名称填gametea,也就是项目组名字,url先项目代码路径,

点击确定就会出现如下界面:

其中名称为origin 的就是你自己的代码仓库地址,gametea的就是项目组的代码仓库。

再点击确认之后,远程里面就会多一项:

14.如何将项目组代码更新到自己代码仓库中:点击拉取,然后再弹出的框中,从远端拉取,改成gemetea,这时候会发现界面的要拉取的远端分支空白了,点击一下刷新就有了。然后从里面选择具体的分支。然后点确定,就能把项目仓库代码拉到自己的代码仓库中。

Ps:如果这时候你改过一些代码了,并且这些代码刚好别人也改了,他已经先提交到项目代码仓库中去了,这时候就会报错了。

我的解决方案:

看他报错的文件是哪些,然后去对应路径下面,右键,用git工具diff一下,看看自己改了什么,然后脑子里大概记住,然后把这些文件处置到外面的一个文件夹中,然后再用git工具revert上面的那些文件,再去拉代码,就可以拉下来的。拉完之后,把备份的文件再替换过来,diff一下,对比差异(因为此时是替换,所以里面之后你的代码,已经没有别人修改的代码了),所以你还原一下比人的代码。(不适合有大量冲突的情况,因为你脑子记不住那么多东西)

我的解决方案二:

另外专门起一个代码提交本地仓库,只做代码提交,不做代码开发。里面也拉了自己的代码,也关联了项目组代码仓库,因为里面没有开发代码,所以拉了项目组代码仓库,也不会有冲突。拉完之后,这个本地仓库和你那个开发本地仓库,用比较工具Beyond Compare整体去比较一下,然后把你改的东西,从你开发仓库,合并到你的提交代码仓库,合并完之后,再从提交代码仓库提交。

解决方案三:

有待补充,哈哈,其实是我没用过,不知道,有人在用。

15.合并好之后,就要选择你要提交的代码了

点击工作副本,这时候未暂存的文件中就会显示你这是改了哪些文件,或者新增了哪些文件

Ps:新增和重命名,也可以先svn那边右键直接添加。

每个文件点击一下,右边会展示,这次都改了什么,提交代码的时候,一次要仔细看是否是自己写的,还有是否有测试代码,注意删除。确认都没问题,点击stage selected这个按钮,就会添加到上面已暂存文件中,然后所有文件都确认完了,就可以点下面的提交按钮了。

Ps:注意如果你没有勾选框出来的立即推送变更到origin/mster,只是提交到本地代码仓库中而已,只有勾选了才会推送到线上自己代码仓库中。

Ps:如果忘记勾选了怎么办,不要慌,推送到时候这个推送会有红色角标出现,你再点一下推送就推过去了

16.推送到自己代码仓库之后,就可以合并到项目代码仓库了,合并流程:到git后台,点击左上角菜单中的Merge Requests, 然后再点击右上角New... 选中你的代码,

然后左边就是你的代码仓库,右边是项目的代码仓库,选一下分支,注意两边要一致,分支要一致,分支要一致,分支要一致(放心,不一致,你提交上来的合并,我也会给你打回去,除非你是管理者,你自己可以同意合并的,你合并错了就脱出去吊打,虽然还有回退功能)

然后就可以点下面的绿色按钮了,

之后会再弹出来一个和项目代码不一致的列表,你可以再检查一遍,是不是这次提交的都是你改的东西。然后点击Submit merge request就提交合并成功了。

17.怎么拉分支:要了解怎么拉分支,先要知道,怎么创建分支:先去项目组代码里面创建一个分支。很简单,直接去git后台,项目下面,点branch,然后再点create branch就行了。

创建分支,其实就是从当前master主干代码,拷贝一份出来作为分支代码了,之后其他人如果提交合并到master上去了,你这边的branch里面都不会有这些代码。

项目组代码有了新的branch之后,自己这边怎么也有一份一模一样的呢,最简单的方法就是,把自己的代码仓库remove掉,然后重新从项目组代码那边fork一份出来。

之后branch代码怎么合并到master中,然后branch里面怎么拉取master里面的代码,之后再补充。

待续!!!!

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

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,584评论 4 54
  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,920评论 3 27
  • 研二算是已经结束了。我有点不敢正式自己研三的事实,期待中和着恐惧。我所期待的是,终于要毕业,要离开校园了。从我对这...
    花骨儿阅读 160评论 0 0
  • 早上出门的时候,小东西也醒来了,因为公司今天有事,我六点就出门了,可能是因为身边没人了没有了安全感,我在洗漱的时候...
    绿色倾情阅读 290评论 3 3
  • “接下来该怎么办?” “我哪知道……” “你先去找一下这房间的灯在哪,这他妈什么都看不见!”胡建恨恨道。 其实汪木...
    百语阅读 213评论 0 0