1

我想将相同的变更集应用到两个不同的分支上。

这就是我所做的:

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 存在于两个分支上。但是如果我切换到另一个分支然后再回到主控,主控上不再存在 file2 了!为什么会发生,我该怎么办?我还有一个限制:应用隐藏更改后,我无法在 master 分支上调用 git commit。

git 版本 1.7.11.msysgit.0

4

2 回答 2

2

git stash apply仅将更改应用于工作树和索引,而不应用于存储库。因此,当您git checkout在提交之前使用不同的分支时,您会丢失那些本地修改。如果您希望他们坚持在该分支上,您必须提交到该分支。

于 2012-07-23T12:34:29.987 回答
0

这对我行得通。

应用相同变更集的更好方法可能是:

  1. git commit你的变更集在master.
  2. git checkout other
  3. git cherry-pick master
于 2012-07-23T12:35:49.220 回答