Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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 - Fatal编程技术网

Git 切换分支,同时移动已提交但未推送的提交

Git 切换分支,同时移动已提交但未推送的提交,git,Git,我读了一些关于这方面的文章,但需要一些澄清。我看到我可以在我的本地分支中使用 git log origin/master..HEAD 当我从一个分支移动到另一个分支时,是否有方法自动将未推送的提交(即使我们必须解决合并冲突,如果有的话)应用到移动到的分支上 另外,在我的本地分支上,当我有未限制的更改,并且我签出另一个分支时,未提交的更改会被移动到移动到分支,但是git文档说这会引发错误。是否在配置文件中的某个位置设置了此选项?为什么我没有看到错误 $ git checkout myt

我读了一些关于这方面的文章,但需要一些澄清。我看到我可以在我的本地分支中使用

    git log origin/master..HEAD
当我从一个分支移动到另一个分支时,是否有方法自动将未推送的提交(即使我们必须解决合并冲突,如果有的话)应用到移动到的分支上

另外,在我的本地分支上,当我有未限制的更改,并且我签出另一个分支时,未提交的更改会被移动到移动到分支,但是git文档说这会引发错误。是否在配置文件中的某个位置设置了此选项?为什么我没有看到错误

 $ git checkout mytopic
 error: You have local changes to 'frotz'; not switching branches.

没有自动应用未推送提交的方法。您可以使用

git rebase --onto
根据您试图完成的任务,您可能需要创建一个临时分支或执行一些快进合并操作。这取决于是否要保留提交的两个副本

关于你的第二个问题,我个人不喜欢git checkout的操作方式,但我相信如果你修改的文件在你切换到的分支上发生了变化,它会抱怨。否则它什么也没说

当我从一个分支移动到另一个分支时,是否有方法自动将未推送的提交(即使我们必须解决合并冲突,如果有的话)应用到移动到的分支上

如果希望将提交移动到另一个分支,那么可以使用
git-rebase
。否则,您很可能只想将第一个分支与另一个分支进行
git合并

另外,在我的本地分支上,当我有未限制的更改,并且我签出另一个分支时,未提交的更改会被移动到移动到分支,但是git文档说这会引发错误。是否在配置文件中的某个位置设置了此选项?为什么我没有看到错误

 $ git checkout mytopic
 error: You have local changes to 'frotz'; not switching branches.
这取决于所做的本地更改以及要移动到的分支中的更改。如果存在合并冲突,则会出现错误。如果没有合并冲突,则可以签出分支而不会出现任何错误