【问题标题】:git pull when a tracking branch is ahead and behind by some commits当跟踪分支在某些提交之前和之后时 git pull
【发布时间】:2017-11-16 10:43:21
【问题描述】:

假设我在本地存储库中有一个跟踪分支,并且我已经提交了几次。

同时,我的跟踪分支落后于它正在跟踪的远程分支的几个提交。

那么,如果我执行 git pull 会发生合并还是会出现错误? 如果是,那么我是否会获得由两个分支提示和一个共同祖先产生的合并提交?

本来想试一试的,但是想问问有没有人知道。

谢谢:)

【问题讨论】:

  • 不知道答案,但试过了就告诉我。想知道。
  • git pull 表示 运行 git fetch 然后运行第二个 Git 命令。 第二个命令默认为 git merge,但您可以告诉 Git 使用 @987654324 @ 反而。 git pull 的主要棘手部分是让你给出的任何参数都是正确的(在 Git 1.5-1.8 左右的糟糕旧时代,git pull 可能会丢失你的工作或表现不佳的各种错误案例)。我更喜欢分别执行这两个命令,其中一些是过去糟糕的习惯。
  • 我还认为最好改用git fetchgit merge。我无法理解git pull 在这个使用场景中的结果,我想我必须尝试一下。感谢分享git rebase 选项。不知道那件事。 :)

标签: git github git-pull


【解决方案1】:

一旦你的本地分支在远程之后,你会得到一个错误,你可以尝试存储你最近的提交,然后你做一个 git-pull 和合并。您可以稍后应用隐藏的提交

【讨论】:

  • 然后就可以为远程分支创建一个新分支,并与本地分支合并。为什么git会抛出错误?
【解决方案2】:

如果您执行git pull,git 将按照您的要求尝试与您的本地分支、远程分支及其共同祖先进行 3 路合并。如果合并失败,您必须手动解决冲突。

你迟早要做git pull。如果你在这之前尝试git push,你会得到一个错误,只要你的本地分支落后于远程分支。

【讨论】:

  • 好的,如果我遇到合并冲突,我会得到一个错误,如果没有,那么三路合并应该发生吗?我觉得做git fetch 然后合并自己更安全。我不知道我是否想试试这个。
  • 嗯,git pull 就是 git fetch+ git merge,所以应该是一样的。
  • 正是我所说的。我觉得git pull 只会搞砸合并。
猜你喜欢
  • 2020-11-05
  • 1970-01-01
  • 2020-05-07
  • 2022-11-10
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 2019-07-19
相关资源
最近更新 更多