Głupie pytanie, nie umiem znaleźć: jak wrzucić do skryptu komendy Git Bash w Windowsie?
Tj. zainstalowałem Git dla Windows, Git Bash działa bez zarzutu, ale jak to "opakować" w jakiś .cmd czy .ps, aby wykonywało się skryptem i można było dodać do schedulera? Zwykły commit typu:
$ git add moj/katalog/mojplik_2024.08.04.txt
$ git commit -m "moj commit"
$ git push
#programowanie #programista15k #git
Tj. zainstalowałem Git dla Windows, Git Bash działa bez zarzutu, ale jak to "opakować" w jakiś .cmd czy .ps, aby wykonywało się skryptem i można było dodać do schedulera? Zwykły commit typu:
`$ git add moj/katalog/mojplik_2024.08.04.txt
$ git commit -m "moj commit"
$ git push
`#programowanie #programista15k #git
kwanty
2024-08-04 15:05:38
+1
@bachus: Komenda "git" może nie być w ścieżce dostępu którą widzi skrypt ".cmd/.bat". Możesz użyć bezwzględnej ścieżki dostępu do C:\...\git albo zmodyfikować komendę $PATH tak żeby widział git.
Przy commit/put git będzie chciał nazwy użytkownika i hasła. To też będziesz musiał jakoś rozwiązać. Zwłaszcza jeżeli taki ".cmd" będzie wywoływany z innego środowiska niż USER (jako service albo coś w tym stylu) więc nie będzie widział ustawień gita (name/email) zapisanego w kontekście tego użytkownika.
Pewno wszystko da się rozwiązać :-) ale Windows raczej nie jest wygodnym środowiskiem do pracy z konsolą - tam wszystko było zaprojektowane pod "klikanie".
Anyway, po co ci to? co chcesz zautomatyzować?
Przy commit/put git będzie chciał nazwy użytkownika i hasła. To też będziesz musiał jakoś rozwiązać. Zwłaszcza jeżeli taki ".cmd" będzie wywoływany z innego środowiska niż USER (jako service albo coś w tym stylu) więc nie będzie widział ustawień gita (name/email) zapisanego w kontekście tego użytkownika.
Pewno wszystko da się rozwiązać :-) ale Windows raczej nie jest wygodnym środowiskiem do pracy z konsolą - tam wszystko było zaprojektowane pod "klikanie".
Anyway, po co ci to? co chcesz zautomatyzować?
kwanty
2024-08-04 18:22:26
+1
Chcę zautomatyzować co dobę przerzucanie jednego pliku.
PS tak, wiem, że można na 100% innych sposobów, ale potrzebuję to zrobić Gitem.
@bachus: Rzeczywiście masz dziwny case, to by się dało zrobić na wiele innych... prostszych sposobów ;-)
Anyway, powinno się to dać zrobić bo cokolwiek da się wyklikać z palca da się zautomatyzować jakimś mechanizmem. Pytanie ile trzeba się narzeźbić w skrypcie. Za każdym razem jak muszę napisać jakiś skrypt w bash/sh to potem przyrzekam sobie... że nigdy więcej ;-)
bachus
[OP]
2024-08-04 15:04:49
+0
@TwojHimars: dobra, mogłem sprawdzić wcześniej... nie wiedziałem, że po zainstalowaniu Windows będzie rozpoznawał "Gitowe' komendy.
bachus
[OP]
2024-08-04 15:31:12
+0
@kwanty: wstępnie wszystko widzi CMD, i PowerShell, zrobię to sobie w PS. Odbywać się to będzie w obrębie sieci lokalnej, zrobię po kluczu bez hasła, wrzucane do GitLaba. Jak będę miał chwilę dam znać, czy udało się bez problemu ze środowiska USER.
Chcę zautomatyzować co dobę przerzucanie jednego pliku.
PS tak, wiem, że można na 100% innych sposobów, ale potrzebuję to zrobić Gitem.
Chcę zautomatyzować co dobę przerzucanie jednego pliku.
PS tak, wiem, że można na 100% innych sposobów, ale potrzebuję to zrobić Gitem.
T.....s
2024-08-04 16:48:04
+0
@bachus: PowerShella warto znać i automatyzacje w nim robić. Potężne narzędzie. Baciaki działają, ale to epoka dosa.
bachus
[OP]
2024-08-04 16:53:45
+0
PowerShella warto znać i automatyzacje w nim robić. Potężne narzędzie. Baciaki działają, ale to epoka dosa.
@TwojHimars: to nawet nic nie ma do PS, bo komendy gita są takie same, jedynie w PS trochę wygodniej niektóre rzeczy robić np. operować na zmiennych, ifach (czy plik istnieje) itd. Chociaż PS to i tak jest rak Windowsa ;-) Przecież nawet zapisanie do zmiennej timestamp w ludzkiej formie trzeba się nagimnastykować np:
$timestamp = $(((get-date)).ToString("yyyy_MM_dd_HH_mm_ss"))lub fikołki typu:
$timestamp = Get-Date -Format o | ForEach-Object { $_ -replace ":", "." }