2011-04-09 51 views
0

我有一個遠程設計,當他提交時,他不斷刪除行,但他們不顯示在git日誌中,他如何刪除行,但防止混帳顯示他們?Git行在沒有通知的情況下被刪除

讓我給你看一個例子: 我給其中一個類添加了一個margin:0 30px行。幾個小時後,他提交的一個後行刪除了:



    DANIEL-PALACIOs-MacBook-Air:Groupy skoda306$ cat public/stylesheets/sass/custom.sass | grep "margin: 0 30px" 

這不產生輸出,但我可以說我增加了行日誌中清楚地看到


DANIEL-PALACIOs-MacBook-Air:Groupy skoda306$ git log -S"margin: 0 30px" public/stylesheets/sass/custom.sass 
commit 72e32eb415ca2282dffb89f7f6174c0f7136e2d5 
Author: Daniel Palacio 
Date: Sat Apr 9 15:17:39 2011 -0400 

    Changed the buy button to make it bigger 

但混帳從來顯示了當行被刪除了,他是怎麼做到的?

不好意思收的追問太混亂了解

回答

1

嘗試git log --patch看到一個提交差異。這將顯示日誌消息正下方的已刪除行。我希望我能正確理解你的問題。

1

您正在查找git log --patchgit diff <commit_id>

默認情況下,git --log只顯示用戶承諾的消息,但不是實際的代碼差異。

1

git log -S也將顯示該特定文本是否被刪除。所以,就我所知,列出的提交(72e32eb415c)可能恰恰是刪除該行的那個:)現在,當然,我相信你檢查了這一點,但我想我會提及它。 [1]

我想

git blame -- /public/stylesheets/sass/custom.sass 

應該擺脫一些更多的光。如果你知道接近目標搜索模式,這樣做

git blame -L/pattern/,+5 -- /public/stylesheets/sass/custom.sass 

$ 0.02


[1]這個混帳包就是明證:

base64 -d > bundle.git <<HERE 
IyB2MiBnaXQgYnVuZGxlCjFjYTYyYzg4N2VhNDMxNmRlNTJmMTFmYjgxZTA4OWZlNTA3N2FkOTIg 
SEVBRAoKUEFDSwAAAAIAAAAGkQ14nJWLWwrCMBAA/3OK/Atld/MGEe/gCbLJloq2lXS9v3oEfwYG 
ZnSI2C4YPZe5OgqlICTK2FNMwLVxBM+Nw5yRzKsO2dQmRsm5z9S9c8iFY6DyrUKPMbTsMyHU6JKp 
b132YW+iiz0fssh1FRmPqtNPpu15seiAXPmC7AkIwLR9Xe+q8udmDmn71s0H9rc8+5IKeJyVjMEN 
wjAMAP+Zwn+kyklqIksIsQMTpMZRIppWSs3+lBH43T3ubKgCzZKkFOGwMHrPkgqe9Ip8VaI5UV6K 
FEouf6zuA55qFW6HVn101fHONv1k2tY7+Ighcjw3cMGA6GTvvZnpn5lrW7OWV/cFxPUwvq0BeJwB 
HQDi/zEwMDY0NCBhAPTL8Mk74sG76S9n4/Szffj3AZ6+wwsPlLYBeJxLTCzgysvPL+HKzUwt5qoq 
LebKSi3hAgBYlgd4rQF4nDM0MDAzMVFIZJA65rLv7bKXZ0/+XDD91p3gq/99wtQBtMEOe7wBeJxL 
TCzgysvPL+HKzUwt5koqyk8t4qoqLebKSi3hAgCOjwmcDdQMPXKLB94u5+xOPu4Y/ZcQw6I= 
HERE 

做了克隆和測試它

git clone bundle.git bundle 
(cd bundle && git log -pSbroer) 

將顯示這兩個版本增加刪除單詞'broer'

+0

http://stackoverflow.com/questions/5608958/git-not-showing-deleted-lines-in-log – daniel 2011-04-10 00:41:07

相關問題