使用我的隐藏列表中的特定更改

Use specific changes from my stash list

有没有办法使用我的隐藏列表中的特定更改。例如,我的隐藏列表显示 2 个条目 stash@{0}stash@{1},现在我想将 {0} 应用于某个 X 分支并将 {1} 应用于某个 Y 分支。我怎样才能做到这一点?我还可以从列表中删除特定更改吗?

要将特定的存储应用到分支,首先切换到所需的分支:

git checkout branchA

然后使用以下命令之一应用所需的存储:

git stash apply stash@{n}

git stash pop stash@{n}

apply命令会将您的藏品留在列表中,以便您以后使用它,如果您不需要保留藏品,您可以使用pop命令。

在这里您可以找到关于 git stash 命令的完整文档:git-stash Documentation

基本上你需要运行:

git stash branch branch-with-stashed-content # stash@{0} implied.

或者:

git stash branch branch-with-stashed-content stash@{1}

TL;DR

给定一个带有 root 提交的 Git 存储库,您可以 运行 以下命令来尝试上面的命令:

git init test
cd test
git commit --allow-empty --no-edit --message='My empty root-commit.'
touch foobar
git add foobar
git stash
git stash branch branch-with-stashed-content

根据git help stashbranch <branchname> [<stash>]

Creates and checks out a new branch named <branchname> starting from the commit at which the <stash> was originally created, applies the changes recorded in <stash> to the new working tree and index. If that succeeds, and <stash> is a reference of the form stash@{<revision>}, it then drops the <stash>. When no <stash> is given, applies the latest one.