2013-07-03 76 views
1

我使用Git来跟踪我对项目所做的更改。我经常在我的文件中移动整个部分。请求github或sourcetree忽略移动的行?

当我使用OSX的Sourcetree和GitHub查看差异时,它会将那些移动的行显示为已删除(并在其他地方显示为新行)。这在视觉上令人困惑。

如何指示Sourcetree或GitHub忽略移动的线条,并且只显示线条被删除,如果它们真的走了?

回答

3

简短的回答,你不能。

如果您不喜欢git计算的默认差异,您可以尝试使用--patience(使用“耐心差异”算法生成差异)和--histogram(使用“直方图差异”算法生成差异。选项git diff

另外这可能有助于Customizing-Git-Git-Attributes#Binary-Files看到Diffing Binary Files。

+0

谢谢。我可以使用-patience与OSX的Sourcetree或Github结合吗? – incandescentman

+1

如果耐心是你的选择,那么你可以将它设置为配置'git config --global diff.algorithm patience' – Tala

1

另一种方法是使用命令行。您可以指示git的尝试和猜测何时行代码已被移动

git blame -M -w <file> 

你应该表现出它认为是这些线路的原作者作者和SHA1的。这是一个受过教育的猜测,所以有时候可能是错的。