Thread Git commit messages übersetzen? (4 answers)
Opened by flowdy at 2014-02-09 17:19

Raubtier
 2014-02-10 22:05
#173497 #173497
User since
2012-05-04
1054 Artikel
BenutzerIn

user image
Nein, stg commit ändert nicht den Hashwert, das sagt dir nur, dass der unterste Commit, den stg verwaltet, jetzt nicht mehr mit stg verwaltet werden soll.

Also z.B.

Code: (dl )
1
2
3
4
5
6
7
mkdir -p /tmp/raubtiergit && cd /tmp/raubtiergit
git init
touch a ; git add a ; git commit -a -m "test1"
touch b ; git add b ; git commit -a -m "anderer test"
touch c ; git add c ; git commit -a -m "foobar"
stg init
stg uncommit -n 2


Du bekommst jetzt als Ausgabe von stg series (Achtung: die Patches werden von alt nach neu ausgegeben, umgekehrt zu git log):
Code: (dl )
1
2
3
/tmp/raubtiergit(master|✔) % stg series
+ anderer-test
> foobar


Die beiden letzten Patches sind also nun unter der Verwaltung von stg. Mit z.B. gitg oder gitk kannst du aber leicht sehen, dass beide Patches auch im "normalen" git da sind. Der Hashwert ändert sich, wenn du z.B. mit stg pop anderer-test einen Commit aus der Mitte wegnimmst:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
/tmp/raubtiergit(master|✔) % git log --oneline
7e607ee foobar
45b9446 anderer test
04b154e test1
/tmp/raubtiergit(master|✔) % stg pop anderer-test
Popped foobar -- anderer-test
Pushing patch "foobar" ... done
/tmp/raubtiergit(master|✔) % git log --oneline
b94d522 foobar
04b154e test1


Oder natürlich wenn du mit stg edit oder mit stg refresh einen Patch bearbeitest.

Der Zeitstempel: Nun, probiere es doch einfach mal aus! stg edit zeigt dir auch den Zeitstempel an - du kannst ihn nach deinen Wünschen bearbeiten!

Ach so, noch eins: den allerersten Patch kannst du mit stg nicht ändern.

D.h. ich würde das hier machen:
Code: (dl )
1
2
3
4
5
6
7
cd dein_git_verzeichnis
stg init
stg uncommit -n $[-1+`git rev-list HEAD --count`]
stg pop -a
echo "Jetzt den allerersten Commit ändern (Spezialfall)"
git commit --amend
stg push -a

... und dann solange folgendes Kommando wiederholen, bis fertig:
Code: (dl )
stg edit `stg series | head -n1 | awk '{print $2}'` && stg commit


Hat den großen Vorteil, dass du immer mal ganz schnell eine Commit-Message änden kannst. Und mit stg series | wc -l siehst du dann, wie viele noch verbleiben...
Last edited: 2014-02-10 22:24:59 +0100 (CET)

View full thread Git commit messages übersetzen?