这是我要面对的工作流程。你会如何用git解决这个问题?
我正在处理分支中的某个功能,并在适当时提交。我正处于一些探索性工作的中间,我不想要提交的东西,因为我很可能无论如何都要把它扔掉。
我需要放弃我正在做的事情并在另一个分支上工作。我确定你想建议git stash
。我一直用它来进行临时切换,但我打算将我的工作留在这个探索性分支中一周或更长时间。我发现git stash
在他们开始堆积时会变得笨拙而你正在试图弄清楚什么是什么 - 如果我继续这样做的话肯定会发生这种情况。
如果索引是特定于分支的,那么我会把这些东西留在这个分支的索引中。如果git stash
是特定于分支的,那就太棒了,我可以将一个存储区留在这个分支上。而我在其他分支机构的藏匿处不会埋葬这个。
为什么不做一个新的提交?当这是未完成的工作时,我觉得这颠覆了提交的意义。如果事实证明我将其全部丢弃,我在提交历史中不希望这样。
使用更传统的vcs,我只需从文件系统上的其他位置重新签出,让我当前的工作保持不变。
这样做的git方式是什么?
答案 0 :(得分:2)
您可以在分支上提交它,然后如果您不想要它,请稍后使用git rebase -i
将其删除。
或者,只需根据当前分支创建一个临时分支,然后在那里提交。如果不需要,请删除临时分支。
答案 1 :(得分:0)
使用更传统的vcs,我只需从文件系统上的其他位置重新签出,让我当前的工作保持不变。
您可以使用git clone
执行此操作。我不特别喜欢在同一台机器上安装两个克隆,作为保持两个独立开发线的标准方法。但我认为这对你的用例很有意义。