gpt4 book ai didi

Git:在不更改工作目录的情况下在分支之间移动更改

转载 作者:IT王子 更新时间:2023-10-29 00:38:08 30 4
gpt4 key购买 nike

用例:每次我想将提交从一个 git 分支移动到另一个时,我执行以下一系列操作:

  1. [提交到工作分支]
  2. git checkout 分支 merge 到
  3. git cherry-pick 目标提交
  4. git push
  5. git checkout 工作分支

唯一的异常(exception)是工作正常 - 每次我执行“git checkout”时,git 工作目录内容都会更改(预期),这会导致我的 IDE (IntelliJ IDEA) 执行内部状态更新(因为受监视的文件系统子树被外部修改)。这真的很烦人,尤其是在有大量小提交的情况下。

我看到了两条路:

  1. 执行“大量挑选”,即执行大量提交;将他们转移到另一个分支机构,例如,在工作日结束时;
  2. 拥有第二个本地 git 存储库并对其执行 cherry pick,即每次实际提交和推送到工作分支时,转到第二个存储库, pull 更改并在那里执行 cherry pick;

我不喜欢第一种方法,因为它可能会忘记移动特定的提交。第二个看起来有点……不自然。

基本上,如果我可以在不更新工作目录的情况下说 git “将此提交从名称为 branchX 的分支移动到分支 branchX+1”,那将是完美的。

问题:是否可以执行上述操作?

最佳答案

不,在不更改工作目录的情况下,不可能在分支之间移动提交。这是因为你最终会遇到冲突,此时 git 会暂停,以便你可以解决冲突。如果你的直接工作不代表那种状态,那么你将无法正确解决冲突。

如果环顾四周,您会在 SO 上找到许多其他可能解决此问题的方法,但潜在的问题听起来像是您的编辑器无法处理从其下方更改的文件。这基本上是使用 git 的事实。因此,要么更新编辑器,要么转移到更适合 git 工作流程的东西。

关于Git:在不更改工作目录的情况下在分支之间移动更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3881486/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com