Git Rebase(合并南瓜)我的功能分支到另一个分支
-
09-12-2019 - |
题
我正在寻找一个git命令,帮助我在准备进入主人时使用我的功能分支。这个git命令将在我的分支上挤出我的分支中的所有更改到主机上的单个提交。我今天这样做:
git rebase origin/master
git rebase -i HEAD~4
.
其中4是南瓜的提交数。但是,这需要我知道我有多少提交。我今天通过运行来做这个:
git log HEAD...origin/master
.
然后计算提交。
我觉得好像应该有更好的方法来做这件事。或者这也是所有其他人的吗?
解决方案
你所要做的就是:
git checkout feature_branch
git rebase master
git checkout master
git merge --squash feature_branch
.
作为 docs
生成工作树和索引状态,好像真实合并发生(合并信息除外),但实际上并不实际上是提交或移动头部,也不记录$ git_dir / merge_head,使下一个git commit命令创建合并提交。这允许您在当前分支的顶部创建单个提交,其效果与合并另一个分支(或者在章鱼的情况下)。
之后,您可以生成已暂存的更改。
其他提示
这是我所做的,从大团队工作的很多经验中收集:
# Get latest from master
git checkout master
git pull --rebase
# rebase master into your feature branch
git checkout feature/my-feature
git rebase master --preserve-merges
# merge feature into master
git checkout master
# DO ONLY ONE of the 2 options below
# if you only have one or (maybe) 2 commits in your feature branch
git merge feature/my-feature
# OR
# this forces an empty merge commit (useful if we need to roll things back)
git merge --no-ff feature/my-feature
# if you use Github, this should also close the pull request
git push origin master
.
希望这有帮助!
我认为你正在寻找生成的icodetagcode。它应该从您的功能分支带入主机中的提交并挤压它们,以便您可以创建一个提交。
不隶属于 StackOverflow