Trying to diff my local file with a GitHub repo before I submit a pull request so I can see what will show up, is there an accurate way of doing this? I assume GitHub's compare tool manipulates Git's diff?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
由
翻译强力驱动
问题:
回答1:
Don't do a pull :
- do a
fetch(the syntax is the same asgit pull, but it doesn't automatically merge) - do a
diffbetween your dest branch and the other branch - then do a
mergeif you want
回答2:
To compare a local working directory against a remote branch, for example origin/master:
git fetch origin master
This tells git to fetch the branch named 'master' from the remote named 'origin'.Git fetchwill not affect the files in your working directory; it does not try to merge changes likegit pulldoes.git diff --summary FETCH_HEAD
When the remote branch is fetched, it can be referenced locally via FETCH_HEAD. The command above tells git to diff the working directory files against FETCHed branch's HEAD and report the results in summary format. Summary format gives an overview of the changes, usually a good way to start;git diff FETCH_HEAD -- mydir/myfile.js
If you want to see changes to a specific file, for example myfile.js, skip the--summaryoption and reference the file you want (or tree).
回答3:
Per the OP's comment that part of his "problem was Windows vs. Unix LFs" this should help:
You can use the following config command to tell git-diff to ignore the difference of eol code.
git config --global core.whitespace cr-at-eol