可以 git stash;git checkout 主要;git 合并起源/主;git stash pop 可以简化吗?

Dav*_*ell 2 git github

我发现自己,作为工作流程的一部分,经常这样做:

  • 我在一个分支上(我们称之为topic
  • 我向 CI 发送提交,topic以便将其合并
  • 我想做另一轮改变,所以我继续努力topic
  • mainCI同时合并更改(在 GitHub 上,这意味着在我的情况下进行合并提交 - GitHub 显然不会在这里进行快进合并;请参阅此答案
  • 所以我想重新进行main我一直在进行的更改的更新
  • 我尝试查看,它的内容与现在main相同,但是topic
  • git抱怨我的本地更改将被覆盖,因为我在本地修改了一些与上次提交相同的文件,所以我必须:
  • git stash
  • git checkout main
  • git fetch; git merge origin/main
  • git stash pop

我知道git命令有很多选项。有没有一种方法可以一步完成上述四步过程,或者更少的步骤(无需编写脚本)?合并总是干净利落地应用,因为origin/main和 的topic内容相同(但git历史不同)。

这个悬而未决的问题表明也许整个序列可以被替换为git checkout -m。那是对的吗?