【发布时间】:2021-11-28 09:16:49
【问题描述】:
我在 git 上的一个分支有问题。我在该分支中有 11 处更改,它们确实很混乱,但开发中也有其他提交。一切正常,但我们正在为这个项目工作更多的人。 所以我需要做的是,从这个分支中获取每个提交并将它们提交到同一个分支中的一个。
我的分支名称是 update/user-section。
我在这里看了很多视频和其他帖子,但没有解决我的问题。
【问题讨论】:
标签: javascript git gitlab git-branch
我在 git 上的一个分支有问题。我在该分支中有 11 处更改,它们确实很混乱,但开发中也有其他提交。一切正常,但我们正在为这个项目工作更多的人。 所以我需要做的是,从这个分支中获取每个提交并将它们提交到同一个分支中的一个。
我的分支名称是 update/user-section。
我在这里看了很多视频和其他帖子,但没有解决我的问题。
【问题讨论】:
标签: javascript git gitlab git-branch
因此,您希望 merge 将您的更改从您的分支转移到另一个分支。您可能想要做的第一件事是确保您的分支具有目标分支的更改,以减少合并代码时的冲突。
从“目标”分支开始(您最终将在此合并您的代码)
git checkout targetBranchName
git pull
然后rebase 将这些更改放入您的“源”分支(在您的情况下为 update/user-section)
git checkout update/user-section
git rebase --interactive targetBranchName
如果存在冲突,您必须解决它们并按照说明继续。一旦没有冲突,您将收到一条提交消息,其中概述了您引入的所有更改。要接受该提交消息,请输入 :q 并按 Enter。
一旦您从目标集成了这些更改,您现在想要merge 将您更新的分支返回到“目标”分支。这是您的更改集成的地方。
git checkout targetBranchName
git merge --squash update/user-section
如果您将--squash 标志添加到merge 命令,它会将您的所有代码作为单个提交引入。没有它,它将保留您所有的原始提交及其消息。这里通常首选使用--squash,因为它使其他人的更新更容易。
您的代码现在位于目标分支的本地副本中。运行 git status 以查看您是否需要 add 进行更改,commit 和 push 以便其他人现在可以访问您的代码。
【讨论】: