使用我的隐藏列表中的特定更改
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 stash
,branch <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.
有没有办法使用我的隐藏列表中的特定更改。例如,我的隐藏列表显示 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 stash
,branch <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 formstash@{<revision>}
, it then drops the<stash>
. When no<stash>
is given, applies the latest one.