Ich habe gerade festgestellt, dass der Abschnitt rebase
in git help svn
sagt:
Diese ruft Revisionen vom SVN-Elternteil des aktuellen HEAD und refinanziert die aktuelle (nicht an SVN gebundene) Arbeit dagegen.
(meine Betonung) Es bedeutet nicht, dass rebase
a git svn fetch
enthält. Abgesehen davon, gibt es eine Möglichkeit, einen Befehl single git svn
auszuführen, um beides zu tun ?
Der Grund, warum ich das machen möchte, ist, dass ich nur auf einen Zweig schreibe, also möchte ich rebase
diesen einen und ich häufig andere Zweige lesen Ich möchte fetch
diese.
Ich bin auch etwas überrascht zu hören, dass es sich tatsächlich so verhält. Um Ihre Frage zu beantworten, müssen Sie lediglich einen Alias definieren:
git config --global alias.refetch '!git svn fetch && git svn rebase'
Dann sollte git refetch
tun, was Sie wollen.
Ich denke, du verwirrst git rebase
und git svn rebase
. Die ersteren Moves werden auf eine von dir spezifizierte Revision an deinen aktuellen HEAD übergeben, während die Letztere deinen aktuellen HEAD auf die Spitze des Subversion-Zweigs setzt, in dem du gerade bist.
git svn rebase
enthält ein git svn fetch --parent
, dh es werden neue Subversion-Commits für den Zweig, in dem Sie sich gerade befinden, aber keine Subversion-Commits von einem anderen Zweig (Kontrast mit einem plain git svn fetch
, das von allen Zweigen holt).
Ich vermute, du willst nicht ein volles git svn fetch
machen, wenn du ein git svn rebase
machst, weil es viel länger dauert, bevor du eine brauchbare Arbeitskopie bekommst. Wenn Sie regelmäßig git svn fetch
es möchten, rate ich Ihnen, einen Cron-Job einzurichten, der den Abruf im Hintergrund für Sie übernimmt.
Sie können es auch so konfigurieren, dass es standardmäßig referenziert. Dann können Sie:
%Vor%UPDATE:
oops. Brauche mehr Kaffee ...
Ich kann nur daran denken, was du brauchst ...