这是我第一次尝试了解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
我不明白它成功了吗?是重组还是合并?发生了什么事?我怎么能看到那些警告?
答案 0 :(得分:5)
当你进行rebase时,git会进行一系列提交,并尝试依次应用每个提交的更改。 (换句话说,它就像git cherry-pick
的一系列用法。)这些重新应用程序中的每一个都可以使用git的合并机制来尝试解决通过将更改重新应用到新父级而可能产生的任何冲突。
所以,是的,你刚刚完成了一个rebase,但是rebase的每一步都可能涉及使用git的代码进行合并。
“尾随空格”警告告诉您应用更改会在末尾添加一些带有空格的行。 git对此很敏感(显然是从it can cause problems for patches sent by email开始)并且会在各种情况下警告你这样的空白。 “压制”的错误只是说,不是打印出数百个这样的警告,而是将它们压缩到一行。