我在本地存储库中进行了一些更改,并将这些更改推送到了远程分支中,当我为相同的请求创建一个Pull Request时,我注意到该分支包含了我对主服务器所做的所有提交,这可以追溯到3个月。我还得到这样的消息,我认为“ 52提交在主服务器后面”是因为我的代码未与主服务器合并(如果我在此假设中错了,请告诉我)。我只想将最新的提交转到我创建的分支。我考虑过的选项之一是将特定提交推送到新分支,然后针对主分支为其创建PR,但是除非我使用rebase
更改顺序,否则似乎所有提交都会被推送到特定提交为止。 。
我想知道什么是更好的选择,使用rebase
同步提交或更改顺序,然后仅将该特定提交推送到本地分支?
任何帮助将不胜感激 注意:我最近开始使用git(bitbucket),我正在努力地掌握它,并且不想弄乱公司代码,因此很有可能这个问题可能没有道理。
我试图将最新的提交推送到远程分支,但似乎将所有提交推送到最新的提交。一种选择是使用rebase
,但我不太确定该怎么做以及是否应该使用它。
答案 0 :(得分:0)
这取决于您的需求。如果您只想将提交提交给主服务器,
最安全的方法是从分支到主服务器使用cherry-pick
。完全安全,因为您不必强行按下。
git log
。git checkout master
。git pull
或git pull upstream master
对齐。git status
。git cherry-pick -n <commit-hash>
git commit -m <commit message>
git log
。您还可以检查差异:git diff origin/master
。git push
。答案 1 :(得分:0)
您可以只使用简单的rebase注释来更新本地存储库,
git pull --rebase --autostash
有时您会遇到合并冲突,不用担心,您可以手动解决该问题并使用git rebase --continue
“ 52在master后面提交”,因为您的本地存储库不是最新的。