52次落后于大师

时间:2019-10-21 16:35:44

标签: git bitbucket

我在本地存储库中进行了一些更改,并将这些更改推送到了远程分支中,当我为相同的请求创建一个Pull Request时,我注意到该分支包含了我对主服务器所做的所有提交,这可以追溯到3个月。我还得到这样的消息,我认为“ 52提交在主服务器后面”是因为我的代码未与主服务器合并(如果我在此假设中错了,请告诉我)。我只想将最新的提交转到我创建的分支。我考虑过的选项之一是将特定提交推送到新分支,然后针对主分支为其创建PR,但是除非我使用rebase更改顺序,否则似乎所有提交都会被推送到特定提交为止。 。

我想知道什么是更好的选择,使用rebase同步提交或更改顺序,然后仅将该特定提交推送到本地分支?

任何帮助将不胜感激 注意:我最近开始使用git(bitbucket),我正在努力地掌握它,并且不想弄乱公司代码,因此很有可能这个问题可能没有道理。

我试图将最新的提交推送到远程分支,但似乎将所有提交推送到最新的提交。一种选择是使用rebase,但我不太确定该怎么做以及是否应该使用它。

2 个答案:

答案 0 :(得分:0)

这取决于您的需求。如果您只想将提交提交给主服务器, 最安全的方法是从分支到主服务器使用cherry-pick。完全安全,因为您不必强行按下。

  1. 找到提交哈希:git log
  2. 结帐至主帐户:git checkout master
  3. 如果使用上游分支,请与主git pullgit pull upstream master对齐。
  4. 检查您是否与母版保持一致:git status
  5. 没有提交的樱桃选择:git cherry-pick -n <commit-hash>
  6. 提交:git commit -m <commit message>
  7. 检查日志,然后再推送:git log。您还可以检查差异:git diff origin/master
  8. 推送至主站:git push

答案 1 :(得分:0)

您可以只使用简单的rebase注释来更新本地存储库,

git pull --rebase --autostash

有时您会遇到合并冲突,不用担心,您可以手动解决该问题并使用git rebase --continue

52在master后面提交”,因为您的本地存储库不是最新的。