Before we diff, we have 4 branches :
tomteki-Mac-Pro:HearingLite tom$ git branch
TestUSB
* master
multiLanguage
testKbd
tomteki-Mac-Pro:HearingLite tom$
We want to diff the EditProfileViewController.m, to get the idea of where it is :
tomteki-Mac-Pro:HearingLite tom$ git diff --name-only master testKbd | grep EditProfileViewController
Classes/EditProfileViewController.h
Classes/EditProfileViewController.m
HearingLite/EditProfileViewController.h
HearingLite/EditProfileViewController.m
tomteki-Mac-Pro:HearingLite tom$
The above command will diff between two branches (testKbd and master).
Assume it is restructured from HearingLite/ path to Classes/ path (if doesn't , git ls-files can help ), the next thing to do is really diff them :
git diff master:Classes/EditProfileViewController.m testKbd:HearingLite/EditProfileViewController.m
In this note, we use the 'git diff --name-only' to get the path of our target file. And use 'git diff [branch] : [file path]' to diff the file in various branches.