Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git签出分支合并旧文件_Git_Git Branch_Git Merge - Fatal编程技术网

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中显式添加文件,否则不会删除