我有一个远程设计,当他提交时他会不断删除行但是它们没有显示在git日志中,他如何删除行但是阻止git显示它们?
让我举个例子: 我添加了一个边距: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
但是git从未显示该行何时被删除,他是如何做到的?
很抱歉因为任务过于混乱而无法理解
答案 0 :(得分:1)
尝试git log --patch
查看提交的差异。这将在日志消息的正下方显示已删除的行。我希望我能正确理解你的问题。
答案 1 :(得分:1)
您正在寻找git log --patch
或git diff <commit_id>
。
默认情况下,git --log
仅显示用户提交的消息,但不显示实际的代码差异。
答案 2 :(得分: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]这个git包证明了:
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”一词