2012-10-22 207 views
3

這是我第一次瞭解git rebase如何工作。 我是在新的分支做了很多的變化,然後我想嘗試git rebase,並在結果我得到一個輸出:git rebase結果

$ git rebase master 
First, rewinding head to replay your work on top of it... 
Applying: new features done 
/sandbox/.git/rebase-apply/patch:2825: trailing whitespace. 
    var upl_div = document.getElementById('upload_form'); 
/sandbox/.git/rebase-apply/patch:2826: trailing whitespace. 
    var crt_div = document.getElementById('create_form'); 
/sandbox/.git/rebase-apply/patch:2827: trailing whitespace. 
    var appl_div = document.getElementById('create_letter'); 
warning: squelched 309 whitespace errors 
warning: 314 lines add whitespace errors. 
Using index info to reconstruct a base tree... 
<stdin>:2825: trailing whitespace. 
    var upl_div = document.getElementById('upload_form'); 
<stdin>:2826: trailing whitespace. 
    var crt_div = document.getElementById('create_form'); 
<stdin>:2827: trailing whitespace. 
    var appl_div = document.getElementById('create_letter'); 
warning: squelched 310 whitespace errors 
warning: 309 lines applied after fixing whitespace errors. 
Falling back to patching base and 3-way merge... 
Auto-merging lib/functions_common.inc 
Auto-merging .htaccess 
Applying: new features done 

而且我不明白它是成功進行?它被重新設計或合併?發生了什麼事?我如何看到這些警告?

回答

5

當你做一個rebase時,git會接受一堆提交,然後嘗試應用每個引入的更改。 (換句話說,就像git cherry-pick的一系列用法。)這些重新應用程序中的每一個都可能使用git的合併機制來嘗試解決由於將更改重新應用於新父項而可能出現的任何衝突。

所以,是的,你剛剛做了rebase,但rebase的每一步都可能涉及使用git的代碼進行合併。

「尾部空白」警告在那裏告訴您,應用更改會在最後添加一些帶有空格的行。 git對此很敏感(顯然是因爲it can cause problems for patches sent by email),並會在各種情況下提醒你這種空白。 「壓制」的錯誤只是說,不是打印出數百個這樣的警告,而是將它們壓縮到一行。

+0

好的謝謝,但基於輸出成功了嗎?或者我應該解決一些衝突?或者它只是刪除了新的或原始文件中的一些空格? – user1016265

+0

它成功了。你應該能夠看到,通過使用gitk並且看到你的分支現在是基於主控的尖端。 – jszakmeister

+0

是的,謝謝它是tru,但是這意味着什麼警告?我應該在下次做些什麼來避免它? – user1016265