2014-10-01 65 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以這種方式運行,但我相信如果您修改的文件在您要切換到的分支上發生更改,它會發出抱怨。否則它不會說任何話。