我想将相同的变更集应用到两个不同的分支上。
这就是我的所作所为:
git init
touch README
git add README
git commit -m "initial"
git branch other
touch file2
git add file2
git stash
git checkout other
git stash apply
git checkout master
git stash apply
git stash drop
这很有效。 file2存在于两个分支上。但是如果我换到另一个分支然后又回到master,那么master2就不再存在了!它为什么会发生,我该怎么办呢?我也有一个限制:在应用隐藏更改后,我无法在master分支上调用git commit。
git version 1.7.11.msysgit.0
答案 0 :(得分:2)
git stash apply
仅将更改应用于工作树和索引,不到存储库。因此,当您在提交之前git checkout
使用不同的分支时,您将丢失这些本地修改。如果您希望它们在该分支上持久存在,则 提交分支。
答案 1 :(得分:0)
这适合我。
应用相同变更集的更好方法可能是:
git commit
您在master
上的变更集。git checkout other
git cherry-pick master