我有一个分支名test1
,我通过以下命令创建一个名为test2
的新分支。目前我的分支是test1
我运行此命令
$ git checkout -b test2
它创建新分支并在test2
分支上工作。在test2
分支上完成我的任务后,我切换回原始分支test1
,但它也合并了test2
分支的更改,这是不好的。因为我想分开两个分支的逻辑。现在我的原始分支也变得不稳定。
我只是想知道为什么test2
代码在我结帐时在我的test1
分支中合并?
答案 0 :(得分:2)
未经注释的更改不属于任何特定分支,这就是为什么它们只会保留在工作目录中。当这些更改与其他分支的更改发生冲突时,git checkout
将中止并这样说。
您必须在分支 test2 上提交更改。在此之后,当您签出 test1 时,这些更改将消失。
请注意,人们通常不愿意进行更改,因为他们还没有完成工作。在git中,它几乎不是问题,因为它很容易修改最后一次提交,或者用git reset HEAD^
撤消它并重新发送最新的更改。
答案 1 :(得分:1)
我认为您确实将test2合并到了test1。
无论如何,你可以使用git命令来清除你的test1分支。
git log # copy the latest commit id before commits you committed on test2
git reset <commit id> # reset to that commit
git checkout . # checkout the modifies you merged into test1 from test2
现在分支test1是明确的