1

I'm using Git to keep track of the changes I make to my project. I often move entire sections around within my files.

When I view diffs using Sourcetree and GitHub for OSX, it shows me those moved lines as deleted (and shows them as new lines elsewhere). This is confusing visually.

How do I instruct Sourcetree or GitHub to ignore moved lines, and only show lines as deleted if they are truly gone?

incandescentman
  • 6,168
  • 3
  • 46
  • 86

2 Answers2

3

Short answer, you can't.

If you don't like default diffs calculated by git, you can try to use --patience (Generate a diff using the "patience diff" algorithm.) and --histogram (Generate a diff using the "histogram diff" algorithm.) options of git diff.

Also this might help Customizing-Git-Git-Attributes#Binary-Files see Diffing Binary Files.

Tala
  • 8,888
  • 5
  • 34
  • 38
1

An alternative is to use the command line. You can instruct git to try and guess when lines of code have been moved

git blame -M -w <file>

should show you the author and sha1's of what it thinks are the original authors of those lines. It's an educated guess, so it might be wrong sometimes.

fracmak
  • 121
  • 1
  • 2