Mai mult
git add, comite și împingeți comenzi într-o singură?
Există vreo modalitate de a folosi aceste trei comenzi într-o singură?
git add .
git commit -a -m "commit" (do not need commit message either)
git push
Uneori am'm schimbarea doar o scrisoare, CSS padding sau ceva. Totuși, trebuie să scrie toate cele trei comenzi pentru a împinge modificări. Există multe proiecte în cazul în care nu'm numai un împingător, astfel încât această comandă ar fi minunat!
202
27
Clădirea de pe @Gavin's răspuns:
Face lazygit o funcție în loc de un nume fals vă permite să-l treacă un argument. Am adăugat următoarele meu .bashrc (sau .bash_profile dacă Mac):
Acest lucru vă permite pentru a oferi o comite mesaj, cum ar fi
Ai putea, desigur, carne de vită acest lucru chiar și mai mult, prin acceptarea chiar mai multe argumente, cum ar fi loc de la distanță pentru a împinge, sau care ramură.
Am sfârșit prin a adăuga un alias pentru a mea
.gitconfig
fișier:Utilizare:
git cmp "Lung comite mesajul merge aici"
Adaugă toate fișierele, apoi foloseste un comentariu pentru comiterea mesaj și-l împinge până la origine.
Cred că's o soluție mai bună pentru că aveți control asupra a ceea ce comite e mesajul.
Aliasul poate fi definit, de asemenea, de la linia de comandă, aceasta adaugă-l la dumneavoastră.gitconfig`:
În timp ce sunt de acord cu Wayne Werner privire la îndoielile sale, acest lucru este punct de vedere tehnic o opțiune:
Care definește un alias care ruleaza
comit
și "push". Folositi-l ca `git acp. Vă rugăm să fiți conștienți de faptul că astfel de "shell" alias-uri sunt întotdeauna rula de la rădăcina depozit git.O altă opțiune ar putea fi pentru a scrie un post-comite cârlig care face push.
Oh, apropo, ai într-adevăr can trece argumente pentru a plăti pseudonime. Dacă vrei să treci la un custom comite mesaj, utilizați în loc de:
(Desigur, acum, va trebui să dea o comite mesaj:
git acp "mesajul Meu merge aici!"
)Cred că s-ar putea înțelege greșit flux de lucru care git a fost proiectat pentru. (Pentru a clarifica/corect ce am vrut sa spun in comentariul, nu't nevoie de
git add .
, dincomis -o
, de obicei, servește același scop - de a adăuga orice modificări care nu au fost încă pus în scenă, dacă fișierele au fost adăugate deja)De obicei te'll face ceva de genul asta:
spălare, clătire, repet, până nu'am terminat caracteristică X, sau're la un punct de oprire, sau doar doriți alte persoane pentru a vedea ce ai de'am făcut. Apoi faci
Git nu este SVN - dar se pare că te're încercarea de a utiliza ca atare. S-ar putea găsi unele dintre resursele de la sfârșitul articolului aici a fi de folos.
Eu folosesc acest lucru în mea .bash_profile
Se execută ca
Don't uita pentru a rula
source ~/.bash_profile
după salvarea alias.Puteți folosi script bash , alias set pentru a lansa orice comanda sau un grup de comenzi
Configurat ca un alias în bash:
Spune:
(Pentru a face acest alias permanent, ai'd avea să-l includă în dumneavoastră .bashrc sau .bash_profile)
Simpla solutie ar fi sa:
git add
este deja conținută într -un parametru de comis-o, dar dacă doriți puteți să vă conectați-le pe toate:În Linux/Mac, acest lucru mult mai practică opțiune ar trebui să funcționeze, de asemenea,
Dacă sunteți de lucru pe un nou ramură a creat la nivel local, schimba
git push "bucățică" cu
git push-u originea branch_name`Dacă doriți să editați comite mesaj în sistemul de editor atunci
se va deschide editorul și după ce salvați mesajul pe care-l va împinge, de asemenea, că.
Puteți încerca gitu.
Pentru prima dată (node js trebuie să fie instalat):
După care:
La problema celor trei comenzi la o dată.
Partea buna este ca ai don't trebuie să vă faceți griji atunci când reinstalați sistemul dvs. sau atunci când doriți pentru a face acest lucru pe calculatoare diferite și Nu modificarea fișierului este necesar. Acest lucru, de asemenea, de lucru pe diferite platforme (nu doar Linux și Mac, dar, de asemenea, sub Windows command prompt ca
cmd " și "powershell
) doar că trebuie să instalaținpm" și " nodejs
(git
, desigur).Dacă fișierul este deja urmărită, atunci nu aveți nevoie pentru a rula
git add
, puteți scrie pur și simplugit commit -am 'mesajul'
Dacă nu doriți să scrie o comite mesaj s-ar putea lua în considerare a face ceva de genul
git commit-permite-gol-mesaj -am ''
După cum sa menționat în acest răspunsul, puteți crea un git alias și atribui un set de comenzi pentru el. În acest caz, ar fi:
și să-l utilizați cu
Acest Rezultat
Deschizi CMD-ul pe Windows și inserați acest răspuns
`git commit -m "mesajul" . && git push origin master
Eu folosesc un fișier batch:
Scrie un mic script numit gitpush.sh cu liniile de mai jos si adauga ~ director.
Acum, adăugați un alias în ~/.bashrc ca mai jos :
Acum la orice depozit git scrie doar gitpush "mesaj" .
Dacă utilizați VSCode, puteți descărca acest extensie care vă va permite să o facă într-o simplă comandă rapidă de la tastatură.
Există unele probleme cu script-uri de mai sus:
shift "elimină" parametru $1, în caz contrar, "push" vor citi și "înțelege greșit".
Sfat meu :
Atunci când doriți svn-comportament de git commit, folosi acest lucru în git pseudonime în dumneavoastră .gitconfig
comite = "!f() { git commit \"$@\" && git apăsare; };f"
Daca're folosind pește coajă (clădire de pe btse's de răspuns):
Salvați acest fișier în termen de '~/.config/pește/funcții' ca 'quickgit.pește'. Creați directorul cu firme dacă aceasta nu există. '--git-dir=$PWD/.git' Asigură că vom rula git comenzi împotriva git proiect în care am sunat la funcția de
Reporniți terminal, navigați la proiect, de a face modificări, și acum puteți apela 'quickgit "exemplu mesaj"'. Modificările vor fi acum adăugate, comise, și împingeți :).
De asemenea, poate fi găsit ca un rezumat aici: https://gist.github.com/Abushawish/3440a6087c212bd67ce1e93f8d283a69
Există o mulțime de soluții bune deja, dar aici's o soluție care mi se pare mai elegant pentru modul în care vreau să lucrez:
Am pus un script în calea mea numit "git-a pus", care conține:
Care-mi permite să rulați:
..pentru a adăuga toate fișierele, le comit, și împingeți-le.
(Am adăugat, de asemenea, " u" pentru că îmi place să fac asta oricum, chiar dacă-l's nu se referă la acest subiect. Se asigură că în amonte de ramură este întotdeauna configurat pentru a trage.)
Îmi place această abordare, deoarece, de asemenea, vă permite să utilizați "git pune", fără a adăuga toate fișierele (skip " o"), sau cu orice alte opțiuni s-ar putea doresc să treacă pentru a comite. De asemenea, "pus" este un scurt geamantan de "push" și "comit"