gpt4 book ai didi

git - 如何将功能分支的更改 merge 到主分支

转载 作者:行者123 更新时间:2023-12-02 00:43:15 25 4
gpt4 key购买 nike

在功能分支上做了很多工作,在此期间,分支上有多个提交,但也 merge 了来自主分支的更改的提交。

现在功能分支有这样的提交:

  • 工作 6(在 feature 分支上完成)
  • 工作 5(在 feature 分支上完成)
  • 工作 D(在 ma​​in 分支上完成)
  • 工作 C(在 ma​​in 分支上完成)
  • merge 分支'main'到'feature'
  • 工作 3(在 feature 分支上完成)
  • 工作 B(在 ma​​in 分支上完成)
  • 工作 A(在 ma​​in 分支上完成)
  • merge 分支'main'到'feature'
  • 工作 2(在 feature 分支上完成)
  • 工作 1(在 feature 分支上完成)

现在在 GitHub 存储库上创建了一个 pull 请求,但很难跟进所有更改并批准它。

我想要压缩功能分支上的提交,这样我就只有一个需要审查的好提交。

我该怎么做?

我读过有关压缩更改和 rebase 的内容,但我需要一些帮助。我可以只调用 rebase -i [commitnumber],其中提交号是 Work 1 吗?我在功能分支上使用了它并且它工作得很好但是当 merge 提交存在时就不行了。

最佳答案

使用git merge --squash

这是最简单的方法。转到您的 main 分支并使用 --squash 选项 merge feature 分支。

git checkout main
git merge --squash feature

使用git rebase -i

这就是您的建议。 在 rebase 之前确保你有你的功能分支的备份副本。在你的功能分支上调用 git branch:

git checkout feature
git branch feature_backup

现在检查日志以获取开始开发功能的提交的 SHA 哈希。如果这是很久以前的事,您可以使用此命令查看 feature 分支从 main 分支分离的位置:

git merge-base main feature

然后使用git rebase :

git rebase bc4b30e

继续 like it is described here .您不应该给出要压缩的提交数,而应该给出要压缩的第一个提交的 SHA 哈希值。如果那是 n 次提交之前,您可以使用 HEAD~n

关于git - 如何将功能分支的更改 merge 到主分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com