2014-10-01 66 views
0

我读了几条关于此的线索,但需要一些说明。我知道我可以得到我的地方分公司unpushed犯了切换分支以及移动已提交但未提交的提交

git log origin/master..HEAD 

当我从一个分支移动到另一个,有没有自动应用unpushed提交(即使我们如果要解决合并冲突,这是一种任何)转移到分支?

此外,在我的本地分支上,当我有无限制的更改,并且检出一个不同的分支时,未提交的更改被移到移动到的分支,但git文档说这应该会引发错误。这是设置在配置中的某个地方吗?为什么我没有看到错误?

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

回答

0

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

如果你想移动将提交到另一个分支,那么你可以使用git rebase。否则,你很可能想简单地将git merge第一个分支与另一个分支结合。

而且,在我的本地分行,当我有未提交的更改,我检出不同的分支,提交的修改无法移动到移动到分支,但是git的文件说,这应该抛出一个错误。这是设置在配置中的某个地方吗?为什么我没有看到错误?

这取决于本地进行了哪些更改以及您正在转移到的分支中发生了哪些更改。如果存在合并冲突,那么你会得到一个错误。如果没有合并冲突,那么您可以检出分支而不会出现任何错误。

1

有没有自动的方式来申请unpushed提交。您可以使用

git rebase --onto 

取决于你所要完成您可能需要创建一个临时党支部或做一些快进合并操作,以及怎样做手工。这取决于您是否要保留提交的两个副本。

对于第二个问题 - 我个人不喜欢git checkout以这种方式运行,但我相信如果您修改的文件在您要切换到的分支上发生更改,它会发出抱怨。否则它不会说任何话。