Git Checkout分支合并旧文件

时间:2015-06-16 06:46:42

标签: git git-branch git-merge

我有一个分支名test1,我通过以下命令创建一个名为test2的新分支。目前我的分支是test1我运行此命令

$ git checkout -b test2

它创建新分支并在test2分支上工作。在test2分支上完成我的任务后,我切换回原始分支test1,但它也合并了test2分支的更改,这是不好的。因为我想分开两个分支的逻辑。现在我的原始分支也变得不稳定。 我只是想知道为什么test2代码在我结帐时在我的test1分支中合并?

2 个答案:

答案 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是明确的