在保持分支提交的同时覆盖分支

时间:2016-01-29 11:59:46

标签: git

我的团队和我在6个分支机构工作。

昨天我们将所有分支合并为一个。

今天我们做了一些错误修正 我们现在想继续我们的分支机构。

但之前,每个人都需要合并的代码。

我们不想创建新分支,但想将主副本复制到这六个分支中。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

为什么不想创建新分支? Git branches are lightweight,这意味着它们只是指向提交的引用。创建一个新分支应该只是使用一个引用开始你的工作,该引用指向master所做的相同提交:

  1. 切换到master

    git checkout master

  2. 确保master是最新的:

    git pull --ff-only

  3. 创建一个新分支:

    git checkout -b <new-branch-name>

  4. 如果不是创建新分支,您仍然希望在以前的分支上工作,您始终可以将该分支指向最新的master

    1. 切换到现有分支:

      git checkout <existing-branch-name>

    2. 将当前分支点指向与master相同的提交:

      git merge --ff-only master

答案 1 :(得分:0)

如果您要将master中的hotfix代码添加到所有其他分支,只需使用cherry-pick

cherry-pick

选择哪些提交(来自任何分支,甚至可以是松散提交)选择此提交并将其放在我当前的分支中,换句话说 - 从存储库中的任何位置进行任何提交将其带到我的分支

merge

如果您只是想将添加到主分支的代码合并到您的分支机构,则每个开发人员都可以执行以下操作:

# Update the local repo with the code from master
git fetch --all --prune

# merge master into the development branch
git checkout <my branch>
git pull origin master

# now all the changes from master are on your branch.
#verify that you have the changes:
git log --oneline --graph --decorate