git合并分支和未提交的更改为master

时间:2015-12-04 07:12:25

标签: git

我在这里遇到了一些棘手的情况。

两名员工一直在使用git开展项目 两人都克隆了原来的主人。

  • 员工1创建了一个分支来开发一个小功能。
  • 员工2在未提交或创建分支的情况下进行了重大更改。

不知何故,两名员工的工作现在需要合并回主人 我事先知道CSS文件中会有一些冲突,这些冲突很可能需要手动解决。

最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

员工2需要提交或存储他的更改才能合并其他人的更改。他们可以按照以下步骤进行合并:

员工1将他的更改合并回master,以避免不必要的合并提交,他可能首先rebase master上的功能分支:

  1. git checkout employee_1_feature_branch; #如果已经在此分支中,则不需要
  2. git rebase master
  3. git checkout master
  4. git merge employee_1_feature_branch
  5. git push origin master
  6. 员工2提交他的更改,并合并来自员工1的更改:

    1. git add。
    2. git commit -m'来自员工2'
    3. 的更改
    4. git pull --rebase origin master; #可能需要在此
    5. 之后手动解决冲突
    6. git push origin master
    7. 或者如果Employee 2不想在合并之前进行提交(即先合并然后提交),他可以执行以下操作:

      1. git add。
      2. git stash
      3. git pull --rebase origin master
      4. git stash pop; #可能需要在此
      5. 之后手动解决冲突
      6. ...编辑需要编辑的内容......
      7. git add。
      8. git commit -m'更改了员工2'
      9. git push origin master
      10. 那就是它。

答案 1 :(得分:0)

首先整合小功能。

然后问你的第二个员工

  • 创建一个分支,
  • 在该分支中添加并提交他/她的进化
  • 从上游仓库取货
  • 在top origin / master上重新分支该分支:

    git rebase origin/master
    

这将在更新的master(现在包含小功能)之上重播这些提交。
解决任何冲突的工作将在员工2上 完成后,简单git push就足以推送更新的分支,并且可以进行简单的合并以将其集成到master