【问题标题】:Why avoid `git pull` and what to do instead为什么要避免 `git pull` 以及要做什么
【发布时间】:2019-03-23 00:47:10
【问题描述】:

this comment@torek(目前声望172509)说:

我实际上建议完全避免使用git pull,原因与您建议避免使用--autostash的原因相同

避免git rebase --autostashreason given 是:

用起来很方便,用不起来就麻烦了

git pull 不起作用时会在哪些方面出现问题?

My robust automated solution to avoiding git pull --autostash is non-trivial.

是否有可靠的自动化解决方案来避免git pull

【问题讨论】:

  • pullrebase --autostash 有什么关系?另外,请记住拉取只是获取然后合并。
  • @evolutionxbox 大概是一系列可能丢失信息(例如退出状态)的命令(stash push、rebase、stash pop / fetch merge)。有关更多上下文,请参阅链接。
  • “健壮”往往很难。由于 pull = fetch + 2nd-git-command,运行 git fetch(假设标准配置在任何时候都非常安全),然后围绕您想要的第二个命令构建健壮的部分。
  • @chevybow 太好了,这就是我想要的答案。谢谢!

标签: git git-merge git-pull pull git-fetch


【解决方案1】:

无需避免 git pull:since Git 2.9,输入:

git config --global pull.rebase true
git config --global rebase.autoStash true

然后一个简单的git pull 将在本质上完成您的better workflow 的用途:如果需要,将您当前的分支重新设置在获取的origin/yourBranch 之上。

【讨论】:

  • 一个避免这样做的原因是here,即0 退出状态,即使存储未能重新应用。
  • @TomHale 我同意,并赞成你的剧本。我只是没有经常遇到这个问题。
猜你喜欢
  • 2021-06-25
  • 1970-01-01
  • 2018-01-07
  • 2012-04-26
  • 2018-11-13
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多