我对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里面的代码,之后再补充。

待续!!!!

推荐阅读更多精彩内容

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