Ich möchte eine Diff zwischen einer lokal festgeschriebenen Änderung und zwischen der SVN Commit letzten Änderung machen. HEAD und was ist auf SVN Master trunk.Git Diff zwischen HEAD und SVN Master
Was wäre der geeignete Befehl?
Prost
Ich möchte eine Diff zwischen einer lokal festgeschriebenen Änderung und zwischen der SVN Commit letzten Änderung machen. HEAD und was ist auf SVN Master trunk.Git Diff zwischen HEAD und SVN Master
Was wäre der geeignete Befehl?
Prost
Der einfachste Weg, ein Diff zwischen HEAD
und dem Import von trunk
in eine Git-Repo tun würde es machen.
Aber wenn Sie kein git svn rebase
auf Ihrem aktuellen Repo tun können, weil Sie nichts importieren möchten (aber nur den Unterschied mit dem SVN Repo sehen), könnten Sie Ihren Repo in ein zweites Repo klonen, wo Sie jederzeit können Aktualisieren Sie den Inhalt mit dem SVN trunk
.
Dann erklären Sie eine Tracking-Zweig und holen dass repo2 in Ihrem aktuellen Repo:
master/HEAD
svn_trunk # tracks repo2/trunk/HEAD, refreshed by a git svn rebase
und Sie können diff:
git diff svn_trunk..HEAD
Ich versuchte dies:
git diff HEAD ~ 3 HEAD
und es funktionierte, als ich die diff zwischen 3 lokal begangen ändert eine sehen wollte d der KOPF am Kofferraum.
Aber war es der richtige Weg? Es hat funktioniert! :)
Ich nehme an, Sie sprechen über git-svn:
$ git-svn fetch # get the latest from svn, without merging yet
$ git diff ..remotes/git-svn # or <treeish>..remotes/git-svn
Ich weiß nicht, ob remotes/git-svn
irgendwo anders sein kann. Überprüfen Sie mit git branch -a
.
git diff trunk
arbeitete für mich!
Wenn Sie wissen, dass der letzte svn rebase war 'HEAD ~ 3', dann ja. Es sollte die gleiche als 'git diff HEAD ~ sein 3..' – VonC