使用我的存储列表中的特定更改

时间:2015-04-08 09:59:47

标签: git git-stash

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

2 个答案:

答案 0 :(得分:3)

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

git checkout branchA

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

git stash apply stash@{n}

git stash pop stash@{n}

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

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

答案 1 :(得分:0)

基本上你需要运行:

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

或者:

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

TL; DR

给定一个带有root-commit的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>]

  

创建并签出一个名为<branchname>的新分支   最初创建<stash>的提交适用于   <stash>中记录的更改到新工作树和索引。如果说   成功,<stash>stash@{<revision>}形式的引用,   然后它会删除<stash>。如果没有给出<stash>,则应用   最新的一个。