美文网首页
git协同开发操作流程

git协同开发操作流程

作者: EchoYuq | 来源:发表于2017-12-17 20:51 被阅读176次
  1. Fork项目公共仓库,在自己的账号下产生了一个私有仓库,自己账号下的私有仓库是公共仓库的拷贝(包括分支、代码等)。这一步骤在gitlab或者github上的项目公共仓库上操作,如图1所示。


    图 1 Fork
  2. 开发时从自己的私有仓库中pull代码,步骤如下:
    a) 克隆仓库到本地:

      git clone sa_gitlab@gitlab.corp.youdao.com:course/tiku.git
    

    b) 克隆完成后默认进入本地master分支,如果需要创建其他的本地分支,使用命令创建dev1分支,然后自动切换到dev1分支:

      git checkout -b dev1
    

    或者创建dev1分支,并关联到远程分支dev中:

     git checkout -b dev1 origin/dev
    

    c) 拉代码:git pull。如果需要切换到需要的本地分支,使用命令:git checkout 本地分支名,例如

    git checkout dev1
    
  3. 开发完成后,添加修改的文件到本地仓库中。使用命令:git add 文件名,例如

git add app/src/main/java/com/youdao/ydlive/activity/MainActivity.java

或者添加所有的文件

git add .  
  1. 提交代码。使用git commit –m 命令提交本地代码,先不要push到远程私有仓库中。
  2. 此时,在远程公共仓库的代码可能会被团队中的其他成员改变,往往会与你本地的代码产生冲突。我们需要拿到远程公共仓库(被Fork的仓库)的代码,使用
 git remote add upstream https://github.com/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git(下划线标记的是被Fork仓库的地址)
  1. 然后需要pull代码。在这里一般需要pull的是upstream的分支(假设名为dev的分支)到当前分支:
 git pull upstream dev 

a) 如果没有冲突直接 git push到私有仓库中,然后merge request就可以了。
b) 如果存在冲突,AndroidStudio会产生图2界面


图 2 产生冲突

这说明这两个文件产生了冲突,我们需要双击每一个文件(或者点击Merge按钮),进入到Merge操作页面,图3所示,对每个文件进行Merge。(注意:不要直接点右侧的Accept Yours、Accept Theirs按钮,也不要直接close)


图 3 Merge

图3中最左侧的一栏为当前本地分支的代码,最右侧为远程分支的代码,中间的一栏为合并结果,在合并时需要把该文件中所有标记出来的冲突都解决掉,这个文件才算Merge完成,依次Merge完成所有的冲突文件。解决完所有的冲突文件后,再次使用git commit命令提交所有的修改文件,然后git push到私有仓库中,然后merge request就可以了。

如果使用的是git不是AndroidStudio,产生冲突,则会出现图4


图 4 git中产生冲突

此时可以通过vim或者其他工具打开该文件,打开文件内容可以看到类似这样一个冲突:


图 5 文件中的冲突标注

<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。
HEAD指向当前分支末梢的提交。
=======之后,>>>>>>>之前是要merge过来的另一条分支上的代码。>>>>>>> 之后的dev是该分支的名字。

对于简单的合并,手工编辑,然后去掉这些标记,最后像往常的提交一样先add再commit即可,最后push到远程仓库即可。

相关文章

  • git协同开发操作流程

    Fork项目公共仓库,在自己的账号下产生了一个私有仓库,自己账号下的私有仓库是公共仓库的拷贝(包括分支、代码等)。...

  • Android Studio 与Git 上传项目与下载项目流程

    Android Studio 多人协同开发(Git版)——Windows平台 一、首次上传项目流程: 安装Git(...

  • GIt 常用操作指令

    《Git 使用规范流程》 《常用 Git 命令清单》 《Git 远程操作详解》 《Git工作流程》 开发过程中,用...

  • 🍏常用 git 操作指北

    ? 常用 git 操作指南 ? git图形界面操作软件 ? 开发流程 git clone 拉取项目代码,不必多说 ...

  • Git基于Git Flow流程协同开发

    git flow 在多版本协同开发中的作用不言而喻,这里有关于git flow工作流程的梳理其实弄清楚git fl...

  • Git如何保持时间线线性干净

    多人协同开发,多分支下开发,经常与会遇到冲突与合并操作时,git时间线各种混乱。 其实git时间线是很好的东西,标...

  • 多人开发的 Git 流程

    比较清晰的多人开发的 Git 流程博文:多人开发的 Git 流程 A successful Git branchi...

  • git协同开发

    1.两人协同 以主角A和B为例, A着手开发test库,并用git管理; A邀请B参与test库; B通过克隆局域...

  • Git

    Git有什么用 保存开发中的版本历史,并能回退 协同开发 Git 全局配置 s git config --glob...

  • Git

    GIT 有什么用 保存开发中的版本历史,并能回退 协同开发 Git 全局配置 s git 初始化命令 git in...

网友评论

      本文标题:git协同开发操作流程

      本文链接:https://www.haomeiwen.com/subject/kpuuwxtx.html