合并分支但在修改时,master会被修改

时间:2012-06-11 19:50:56

标签: git branching-and-merging

一个简单/新手的问题。 我从主分支创建一个分支(说“测试”),尝试了一些东西,并将其合并。现在,当我修改“testing”分支时,也会在主分支上进行本地更改。

我是否应该在合并后删除分支而不重复使用它?我认为这个分支只会分歧...

为了更清楚,我所做的是:

git checkout master
git branch testing
git checkout testing
// Modify files...
git add <modified-files>
git commit -m 'It worked!'
git checkout master
git merge testing

// Now I go back and edit the testing brach
git checkout testing
// Edit files...
git checkout master
// I can see the local changes I made to the testing branch!! (?)

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

您的第二个更改实际上并不在任何分支中(您尚未提交它们)。

This将解释如果使用“脏”工作区更改分支会发生什么。

您可以将更改提交给测试分支,它将照常与主人分开。

答案 1 :(得分:2)

更改仅在工作副本中,它们尚未在任何分支中。如果在再次检出master之前执行git commit -a -m 'The changes',则会将更改提交给测试分支。

如果您想查看master,但尚未准备好提交您在测试分支上所做的更改,则可以使用git stash暂时更改您的更改。你现在有一个干净的工作副本,可以做任何你想做的事情(例如检查主人并在那里做提交)。完成后,您可以再次检查测试,并使用git stash pop恢复之前的更改。