gpt4 book ai didi

git - 如何正确使用 git merge --squash

转载 作者:太空狗 更新时间:2023-10-29 14:12:04 26 4
gpt4 key购买 nike

我是 git 的新手,只能自己工作,所以我没有使用它可以做的许多功能,但我遇到了一个过程,要么我想错了,要么做错了。

我有一个带有 1 次提交(初始化)的主分支。

我有一个包含 180 个提交的开发分支。

今天我终于准备好将 develop 分支 merge 到 master 中,我做了一些阅读并了解了 squash。这看起来很有用,因为我不会用 develop 分支中相同的 WIP 提交污染 master 分支。

所以我跑了

git checkout master
git merge --squash develop
git commit

从这里开始,一切看起来都符合我的预期,master 有 2 次提交,develop 仍然有 180 次。我现在在脑海中查看 develop再次继续工作。我推送到 bitbucket 并环顾我的项目以查看此 merge 并注意到以下内容:

1 commit(s) on master and not on develop
179 commit(s) on develop and not on master

这是正常的行为,我应该忽略它还是我做错了什么。

最佳答案

这是预料之中的,因为 git 将您的所有提交 merge 为一个提交,与您的开发分支中的提交相比,这将是一个不同的提交。将提交视为一组更改的容器,如果您更改内容,您将拥有不同的内容。

您要么必须接受这种情况,要么可以通过在功能分支中工作来调整您的工作流程,例如master - develop - feature-branch.

完成一个功能后,您可以从功能分支进行压缩 merge 以开发和删除功能分支。现在您可以在没有所有 WIP 提交的情况下进行从开发到主控的 merge ,例如当您发布新版本时。

关于git - 如何正确使用 git merge --squash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36437912/

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