小编典典

如何在 Git 中仅存储未暂存的更改?

all

我想使用这个工作流程:

  1. 阶段性的一些变化。
  2. 将未暂存的更改保存到存储中。
  3. 对阶段中的事物做一些事情(构建、测试等)。
  4. 犯罪。
  5. 恢复未暂存的更改。

有没有办法做第2步?

例子:

git init
echo one >file
git add file
git commit
echo two >>file
git add file
echo three >>file
git stash push
test
git commit
git stash pop

阅读 122

收藏
2022-04-18

共1个答案

小编典典

从 Git 2.35+(2022 年第一季度)开始,您现在可以使用--staged标志 ( man ) on仅暂存 index 中*git stash push的更改。 *

由于您的问题完全相反,我们有两个选择:

  1. 像这样反转操作:

    git stash push –staged # Stash staged changes
    git stash # Stash everything else
    git stash pop stash@{1} # Restore staged changes stash

  2. 暂存您想要隐藏的更改,而不是您想要保留的更改。现在你可以运行:

    git stash push –staged

2022-04-18