Git签出分支合并旧文件
我有一个分支名Git签出分支合并旧文件,git,git-branch,git-merge,Git,Git Branch,Git Merge,我有一个分支名test1,我通过以下命令创建了一个名为test2的新分支。当前我的分支是test1I运行此命令 $ git checkout -b test2 它创建新分支并处理该test2分支。在test2分支上完成我的任务后,我切换回原来的分支test1,但它也合并了test2分支中不好的更改。因为我想分离两个分支的逻辑。现在我原来的分支也变得不稳定了。 我只是想知道,当我签出时,为什么test2代码合并到我的test1分支中 未提交的更改不属于任何特定的分支,这就是为什么它们只会保留在工
test1
,我通过以下命令创建了一个名为test2
的新分支。当前我的分支是test1
I运行此命令
$ git checkout -b test2
它创建新分支并处理该test2
分支。在test2
分支上完成我的任务后,我切换回原来的分支test1
,但它也合并了test2
分支中不好的更改。因为我想分离两个分支的逻辑。现在我原来的分支也变得不稳定了。
我只是想知道,当我签出时,为什么
test2
代码合并到我的test1
分支中 未提交的更改不属于任何特定的分支,这就是为什么它们只会保留在工作目录中。当这些更改与来自另一个分支的更改冲突时,git checkout
将中止并这样说
您必须在分支test2上提交更改。在此之后,当您签出test1时,这些更改将消失
请注意,人们通常不愿意提交更改,因为他们的工作尚未完成。在git中,这几乎不是一个问题,因为修改最后一次提交,或者用git reset HEAD ^撤销它并用最新的更改重新提交都很容易。未提交的更改不属于任何特定的分支,这就是为什么它们只会保留在工作目录中。当这些更改与来自另一个分支的更改冲突时,
git checkout
将中止并这样说
您必须在分支test2上提交更改。在此之后,当您签出test1时,这些更改将消失
请注意,人们通常不愿意提交更改,因为他们的工作尚未完成。在git中,这几乎不是一个问题,因为修改最后一次提交,或者用git reset HEAD ^撤销它并用最新的更改重新提交都很容易。未提交的更改不属于任何特定的分支,这就是为什么它们只会保留在工作目录中。当这些更改与来自另一个分支的更改冲突时,
git checkout
将中止并这样说
您必须在分支test2上提交更改。在此之后,当您签出test1时,这些更改将消失
请注意,人们通常不愿意提交更改,因为他们的工作尚未完成。在git中,这几乎不是一个问题,因为修改最后一次提交,或者用git reset HEAD ^撤销它并用最新的更改重新提交都很容易。未提交的更改不属于任何特定的分支,这就是为什么它们只会保留在工作目录中。当这些更改与来自另一个分支的更改冲突时,
git checkout
将中止并这样说
您必须在分支test2上提交更改。在此之后,当您签出test1时,这些更改将消失
请注意,人们通常不愿意提交更改,因为他们的工作尚未完成。在git中,这几乎不是一个问题,因为修改上一次提交,或者用git reset HEAD ^撤销它,然后用最新的更改重新提交都很容易。我认为您已经将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
git log#在test2上提交之前复制最新的提交id
git reset#重置为该提交
git结帐签出从test2合并到test1的修改
现在分支test1已经很清楚了我认为您已经将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
git log#在test2上提交之前复制最新的提交id
git reset#重置为该提交
git结帐签出从test2合并到test1的修改
现在分支test1已经很清楚了我认为您已经将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
git log#在test2上提交之前复制最新的提交id
git reset#重置为该提交
git结帐签出从test2合并到test1的修改
现在分支test1已经很清楚了我认为您已经将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
git log#在test2上提交之前复制最新的提交id
git reset#重置为该提交
git结帐签出从test2合并到test1的修改
现在分支test1已经清楚了这不应该发生。请发布全部命令。@marounnaroun我只是运行第一个命令,然后处理新分支,然后简单签出test1分支。除非在git中显式添加文件,否则这些文件不受版本控制。假设在test2活动期间创建的文件在切换到另一个分支时仍然存在,对吗?这不应该发生。请发布全部命令。@marounnaroun我只是运行第一个命令,然后处理新分支,然后简单签出test1分支。除非在git中显式添加文件,否则这些文件不受版本控制。假设在test2活动期间创建的文件在切换到另一个分支时仍然存在,对吗?这不应该发生。请发布全部命令。@marounnaroun我只是运行第一个命令,然后处理新分支,然后简单签出test1分支。除非在git中显式添加文件,否则这些文件不受版本控制。假设在test2活动期间创建的文件在切换到另一个分支时仍然存在,对吗?这不应该发生。请发布全部命令。@marounnaroun我只需运行第一个命令,然后处理新分支,然后简单签出test1分支。除非在git中显式添加文件,否则不会删除