Я хочу сделать Diff между локально измененным изменением и между последним измененным SVN последним изменением. то есть HEAD и то, что находится на соединительной линии SVN.
что было бы подходящей командой?
Приветствия
Ответ 1
Я предполагаю, что вы говорите о git -svn:
$ git-svn fetch # get the latest from svn, without merging yet
$ git diff ..remotes/git-svn # or <treeish>..remotes/git-svn
Я не знаю, может ли remotes/git-svn быть где-то еще. Проверьте с помощью git branch -a.
Ответ 2
git diff trunk работал у меня!
Ответ 3
Самый простой способ сделать это - сделать разницу между HEAD и импортом trunk в репозиторий git.
Но если вы не можете сделать git svn rebase в своем текущем репо, потому что вы не хотите ничего импортировать (но видите только разницу с репо SVN), вы можете клонировать свое репо на второе репо, где вы можете на любом обновить его содержимое SVN trunk.
Затем вы объявляете ветвь отслеживания и извлекаете этот repo2 в текущем репо:
master/HEAD
svn_trunk # tracks repo2/trunk/HEAD, refreshed by a git svn rebase
и вы можете различать:
git diff svn_trunk..HEAD
Ответ 4
Я пробовал это:
git diff HEAD ~ 3 HEAD
и он работал, так как я хотел видеть разницу между 3 локально зафиксированными изменениями и HEAD на туловище.