Git: verwendet ihr Aliase?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
paedubucher
Beiträge: 856
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Git: verwendet ihr Aliase?

Beitrag von paedubucher » 19.10.2022 11:13:30

Eine kleine Showcase-Umfrage für diejenigen, die häufig Git (oder von mir aus: Mercurial) verwenden. Definiert ihr Aliase für die häufigsten Git-Befehle? Ich selber habe eine ganze Reihe definiert:

Code: Alles auswählen

alias gin='git init'
alias gcl='git clone'
alias gpl='git pull'
alias gps='git push'
alias gcm='git commit'
alias gst='git status --short'
alias gad='git add'
alias grm='git rm'
alias gco='git checkout'                                                      
alias gbr='git branch'                                                        
alias gdf='git diff'                                                          
alias glg='git log'                                                           
alias gmv='git mv'                                                            
alias gbl='git blame'                                                         
alias gmg='git merge'
Wie handhabt ihr das so?
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Git: verwendet ihr Aliase?

Beitrag von Meillo » 19.10.2022 11:30:00

Ich verwende keine Shell-Aliase, sondern git-Aliase.

Aus meiner ~/.gitconfig:

Code: Alles auswählen

[alias]
        st = status
        ci = commit
        br = branch
Das sind diejenigen, die ich staendig verwende.


Nachtrag:

Ein Alias wie `glg = git log' wuerde mir eher wenig bringen, da ich natuerlichartige Woerter leichter tippe als irgendwelche Zeichenkombinationen. Zwei- und dreibuchstabige Woerter lassen sich eh schnell tippen. D.h. ich versuche in erster Linie die langen, mehrsilbigen Woerter abzukuerzen.

`st' und `ci' waren anfangs nur Gewohnheitsabkuerzungen, die ich von Mercurial uebernommen habe. Sie machen mich aber schneller. `git log' tippe ich aber ungefaehr gleich schnell wie `glg', weil ich letzteres eher umstaendlich zu tippen finde, waehrend ersteres kurze Worter sind, die normalen Silben entsprechen und demnach die Art von Woertern sind, die man fast immer tippt und deshalb auch gut kann.
Use ed once in a while!

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Git: verwendet ihr Aliase?

Beitrag von JTH » 19.10.2022 12:03:01

Ich verwende eigentlich alle Werkzeuge, auch git, möglichst ohne große eigene Veränderungen am Standardverhalten (außer sowas wie Zugangsdaten o.ä. natürlich). Also auch ohne Aliase. Damit kann ich die mir wichtigen Werkzeuge überall, ohne große Konfiguration, gleich schnell und effektiv benutzen. Auch wenn das in meiner Situation im Moment grad nicht relevant ist, in der Vergangenheit wars regelmäßig hilfreich, kein besonderes Setup gewohnt zu sein – während Kollegen dann schon kurz darüber gestolpert sind, wenn ll nicht als Alias definiert war.

Mein Weg, Tipparbeit zu sparen, ist eher die Shellhistorie. Str + R und 2, 3, 4 Buchstaben und ich hab die vor kurzem benutzte Kommandozeile wieder, die ich suche.

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 11:30:00
Ein Alias wie `glg = git log' wuerde mir eher wenig bringen, da ich natuerlichartige Woerter leichter tippe als irgendwelche Zeichenkombinationen.
Interessanter Punkt. Das müsste man mal (lern-)psychologisch näher untersuchen :)
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Git: verwendet ihr Aliase?

Beitrag von Meillo » 19.10.2022 12:29:00

JTH hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 12:03:01
Ich verwende eigentlich alle Werkzeuge, auch git, möglichst ohne große eigene Veränderungen am Standardverhalten (außer sowas wie Zugangsdaten o.ä. natürlich). Also auch ohne Aliase. Damit kann ich die mir wichtigen Werkzeuge überall, ohne große Konfiguration, gleich schnell und effektiv benutzen. Auch wenn das in meiner Situation im Moment grad nicht relevant ist, in der Vergangenheit wars regelmäßig hilfreich, kein besonderes Setup gewohnt zu sein – während Kollegen dann schon kurz darüber gestolpert sind, wenn ll nicht als Alias definiert war.
Da zeigen sich grosse Unterschiede, ob eine Person eigentlich nur auf dem eigenen System arbeitet oder staendig an unterschiedlichen Systemen ist.

JTH hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 12:03:01
Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 11:30:00
Ein Alias wie `glg = git log' wuerde mir eher wenig bringen, da ich natuerlichartige Woerter leichter tippe als irgendwelche Zeichenkombinationen.
Interessanter Punkt. Das müsste man mal (lern-)psychologisch näher untersuchen :)
Eher neurologisch, da das IMO vor allem eine Sache des Muskelgedaechtnisses ist. Normale Silben (also zumeist ein Abwechseln von Vokalen und Konsonanten) plus typische Kombinationen (wie `sch', `st', `ei', usw.) uebt man staendig (zumindest wenn man, wie ich, viel natuerlichsprachlichen Text tippt). Daher kann man sie besser. Die Finger wissen schon wie das geht. Dazu gibt's vielleicht Studien ueber Pianisten, die gewohnte Muster schneller spielen koennen als ungewohnte, einfach weil das Muskelgedaechtnis dort schon trainiert ist.

Der andere, rein mechanische Aspekt bei der Tippgeschwindigkeit sind Fingerwege und Hand-/Fingerwechsel. Die haengen natuerlich auch vom Tastaturlayout ab.

Aber ich will gar nicht weiter in diese Richtung abtauchen. Mir geht es nur darum, dass es fuer mich wenig Sinn macht, einen Alias anzulegen, fuer kurze Woerter, die eine natuerliche Buchstabenabfolge haben, weil ich die sowieso schon besonders schnell tippen kann. `git log' ist ein gutes Beispiel dafuer.


Sinvoll finde ich Aliase, um haeufig genutzte Befehle kuerzer zu machen (wie bei `git st' satt `git status'), oder um mir Sonderzeichen zu ersparen (wie bei `git stuno' satt `git st -uno'), oder um mir einen langen Befehl, den ich immer identische verwende, nicht merken zu muessen (wie bei `git unpushed' statt `git log --branches --not --remotes --no-walk --decorate --oneline').
Use ed once in a while!

Benutzeravatar
oln
Beiträge: 487
Registriert: 05.01.2021 09:41:24

Re: Git: verwendet ihr Aliase?

Beitrag von oln » 19.10.2022 13:32:01

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 11:30:00

Code: Alles auswählen

[alias]
        st = status
        ci = commit
        br = branch
Sieht bei mir ähnlich aus:

Code: Alles auswählen

co = checkout
ci = commit -a
st = status -s
br = branch
hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
alias = ! git config --get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ /
co+ci kommt bei mir noch aus alten SVN-Zeiten. :mrgreen:
Gruß Ole
AbuseIPDB

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Git: verwendet ihr Aliase?

Beitrag von Meillo » 19.10.2022 13:42:58

@oln: Mit `commit -a' solltest du aufpassen. In meiner Erfahrung haben Entwickler, die standardmaessig `commit -a' verwenden, oft unsaubere Commits. Meist sind es Entwickler, die von SVN und Co. kommen und nicht wirklich mit git arbeiten, sondern nur ihren Code reinhauen.

Mit `commit -a' verbaut man sich auch manche wertvollen git-Moeglichkeiten wie `git add -p'.

... aber es kommt natuerlich darauf an, fuer was und in welchen Projekten du git einsetzt. Ich wollte nur darauf hinweisen.


(Ach ja, `git co' habe ich natuerlich auch. ;-) )
Use ed once in a while!

Benutzeravatar
paedubucher
Beiträge: 856
Registriert: 22.02.2009 16:19:02
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz
Kontaktdaten:

Re: Git: verwendet ihr Aliase?

Beitrag von paedubucher » 19.10.2022 13:48:50

JTH hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 12:03:01
Ich verwende eigentlich alle Werkzeuge, auch git, möglichst ohne große eigene Veränderungen am Standardverhalten (außer sowas wie Zugangsdaten o.ä. natürlich). Also auch ohne Aliase. Damit kann ich die mir wichtigen Werkzeuge überall, ohne große Konfiguration, gleich schnell und effektiv benutzen. Auch wenn das in meiner Situation im Moment grad nicht relevant ist, in der Vergangenheit wars regelmäßig hilfreich, kein besonderes Setup gewohnt zu sein – während Kollegen dann schon kurz darüber gestolpert sind, wenn ll nicht als Alias definiert war.
Ich kann das sehr gut nachvollziehen! Für mein Setup als Lehrer verwende ich auch keine Aliase, damit ich beim Vorzeigen immer die kompletten Befehle eingeben muss. Da bin ich aber beim privaten Arbeiten auf dem Rechner aber auch schon einmal in die Falle getappt und habe mein gad getippt.

Meillos Anmerkung mit den Silben finde ich auch interessant. git log tippt sich kaum langsamer als glg. Andererseits habe ich meine Aliase mittlerweile im Muskelgedächtnis.
Habe nun, ach! Java
Python und C-Sharp,
Und leider auch Visual Basic!
Durchaus programmiert mit heissem Bemühn.
Da steh' ich nun, ich armer Tor!
Und bin so klug als wie zuvor.

Benutzeravatar
oln
Beiträge: 487
Registriert: 05.01.2021 09:41:24

Re: Git: verwendet ihr Aliase?

Beitrag von oln » 19.10.2022 13:50:11

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 13:42:58
@oln: Mit `commit -a' solltest du aufpassen. In meiner Erfahrung haben Entwickler, die standardmaessig `commit -a' verwenden, oft unsaubere Commits. Meist sind es Entwickler, die von SVN und Co. kommen und nicht wirklich mit git arbeiten, sondern nur ihren Code reinhauen.
Das ist mir bewusst.
Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 13:42:58
`git add -p'.
Dannst du mir dafür einen konkreten Anwendungsfall schildern?
Gruß Ole
AbuseIPDB

JTH
Moderator
Beiträge: 3023
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Git: verwendet ihr Aliase?

Beitrag von JTH » 19.10.2022 14:11:43

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 12:29:00
Der andere, rein mechanische Aspekt bei der Tippgeschwindigkeit sind Fingerwege und Hand-/Fingerwechsel.
Ja, Unterschiede von Tastaturen lassen sich mit keinem Alias umgehen – außer man hätte als „Alias“ seine eigene Tastatur immer in der Tasche. Fremde Tastaturen sind anstrengend :evil:

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 12:29:00
Da zeigen sich grosse Unterschiede, ob eine Person eigentlich nur auf dem eigenen System arbeitet oder staendig an unterschiedlichen Systemen ist.
Das stimmt wohl. Trotzdem komm ich mir auch Zuhause mit meinen hier zwei „eigenen“ Bash-Aliasen fast rebellisch vor :twisted:

oln hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 13:50:11
Meillo hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 13:42:58
`git add -p'.
Dannst du mir dafür einen konkreten Anwendungsfall schildern?
Du arbeitest an größeren Änderungen in einer Datei, bemerkst währenddessen einen kleineren (vllt Rechtschreib-) Fehler an andererer Stelle in selbiger. Mit einem flinken git add -p oder direkt git commit -p kann man den Fehler ohne Probleme als eigenständigen, kleinen Commit beheben. Wenn es die persönliche Präferenz oder das Projekt gerne so haben, dass jede eigenständige, für sich abgeschlossene und funktionale Änderung nachvollziehbar in einem eigenen Commit, mit sinnvoller Beschreibung, stecken. Kann in der Zukunft immer mal das Nachvollziehen von Änderungen, ein git bisect etc. erleichtern, wenn man keine irrelevanten Änderungen in einem Commit hat.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
oln
Beiträge: 487
Registriert: 05.01.2021 09:41:24

Re: Git: verwendet ihr Aliase?

Beitrag von oln » 19.10.2022 14:37:46

JTH hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 14:11:43
Du arbeitest an größeren Änderungen in einer Datei, bemerkst währenddessen einen kleineren (vllt Rechtschreib-) Fehler an andererer Stelle in selbiger. Mit einem flinken git add -p oder direkt git commit -p kann man den Fehler ohne Probleme als eigenständigen, kleinen Commit beheben. Wenn es die persönliche Präferenz oder das Projekt gerne so haben, dass jede eigenständige, für sich abgeschlossene und funktionale Änderung nachvollziehbar in einem eigenen Commit, mit sinnvoller Beschreibung, stecken. Kann in der Zukunft immer mal das Nachvollziehen von Änderungen, ein git bisect etc. erleichtern, wenn man keine irrelevanten Änderungen in einem Commit hat.
Danke für die Ausführung. Allerdings ist bei mir, master/main geschützt. Also darf dort keiner rein pushen. Bei den MergeRequests benutzen wir hier immer "squash commits". Somit wäre auch da die Nachvollziehbarkeit weg oder?
Gruß Ole
AbuseIPDB

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Git: verwendet ihr Aliase?

Beitrag von Meillo » 19.10.2022 14:44:03

oln hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 14:37:46
JTH hat geschrieben: ↑ zum Beitrag ↑
19.10.2022 14:11:43
Du arbeitest an größeren Änderungen in einer Datei, bemerkst währenddessen einen kleineren (vllt Rechtschreib-) Fehler an andererer Stelle in selbiger. Mit einem flinken git add -p oder direkt git commit -p kann man den Fehler ohne Probleme als eigenständigen, kleinen Commit beheben. Wenn es die persönliche Präferenz oder das Projekt gerne so haben, dass jede eigenständige, für sich abgeschlossene und funktionale Änderung nachvollziehbar in einem eigenen Commit, mit sinnvoller Beschreibung, stecken. Kann in der Zukunft immer mal das Nachvollziehen von Änderungen, ein git bisect etc. erleichtern, wenn man keine irrelevanten Änderungen in einem Commit hat.
Danke für die Ausführung. Allerdings ist bei mir, master/main geschützt. Also darf dort keiner rein pushen. Bei den MergeRequests benutzen wir hier immer "squash commits". Somit wäre auch da die Nachvollziehbarkeit weg oder?
Ja, wenn man Squasht, dann macht das wenig Sinn.

Vom Prinzip her nutze ich `git add -p' halt immer dann wenn ich von den Aenderungen in einer Datei nur einen Teil committen moechte. Das kann auch vorkommen, wenn ich nachtraeglich bei einem `rebase -i' (nur lokal!) einen Commit splitten will. Wenn die genau Form von Einzelcommits wenig wichtig ist, dann ist das recht egal. Dann kann ich auch das `commit -a' verstehen.
Use ed once in a while!

Antworten