Aliasy w gitbash
Robiin
31.10.2020
Chciałem zrobić alias, który robiłby kolejno:
- Dodanie wszystkich plików
- Commit z wiadomoscia
- Push
Próbowałem tak:
gsend="!f() { git add . && git commit -m \"$1\" && git push; }; f"
Próbowałem też z przedrostkiem 'alias' i '[alias]', ale te wyrzucały mi w gitbashu info o złym profilu itp.
Założenie jest takie, żeby te dwie komendy miały końcowo dokładnie taki sam efekt:
gsend "commit message"
git add . git commit -m "commit message" git push
Aktualnie wygląda to tak:
$ gsend "enum to uppercase" bash: gsend: command not found
Użytkownik Wicked. edytował ten post 31.10.2020 21:59
dasiek
02.11.2020
Łindows :<
Jeśli korzystasz z Git for windows, to na stacku zalecają, żebyś dodatkowo zrobił kilka rzeczy
https://stackoverflo...7104593/6881115
Btw - obrazek z pytania wyraża więcej niż 1000 słów.
Robiin
02.11.2020
Próbowałem dodać do:
- aliases.sh (edytor)
- .bashrc (edytor i terminal)
- .gitconfig (edytor i terminal)
kompletnie bez zmian.
I tak, ta d*pa wyraża więcej niż 1000 słów
Deus Vult
02.11.2020
Robiin
02.11.2020
Wiem że to dziwnie może zabrzmieć ale kiedyś robiłem coś na innym "terminalu" Niż trzeba było i to Własnie było powodem braku zmian na serwerze ?
dasiek
02.11.2020
A może nie dodawać tego go git basha, a jako globalny windowsowy alias? git bash chyba odczytuje aliasy/aplikacje/komendy windowsowe.
Robiin
06.11.2020
A może nie dodawać tego go git basha, a jako globalny windowsowy alias? git bash chyba odczytuje aliasy/aplikacje/komendy windowsowe.
Nie chciało mi się w to bawić, więc obszedłem to tak:
Do .bash_profile dodałem taki alias:
alias gsend="python -u \"c:\Users\Robertt\Desktop\.hidden\bash_parameter_interpreter\main.py\" '$1'"
którego zadaniem jest uruchomienie skryptu pythona z przekazaniem argumentu $1 (message commita). Hardcode ścieżki ze względu lenistwa. Folder '.hidden' jest oczywiście ukryty na pulpicie.
Skrypt wygląda tak:
import sys import os # To move into the directory of bash path = os.getcwd() # Commit message is the last argument msg = sys.argv[-1] # Actual command send to the windows terminal cmd = f'cd "{path}" && git add . && git commit -m "{msg}" && git push' os.system(cmd)
Prawdopodobnie jest to bardzo naokoło, ale działa.