Chciałbym usunąć reposy, z których nie korzystam z mojego komputera. Sprawdzam coś, pracuję nad tym i kiedy skończę, pcham wszystko i usuwam folder z mojego komputera. W ten sposób wszystko pozostaje uporządkowane, łatwo jest uzyskać ogólny przegląd tego, nad czym pracuję i wiem, że nie mam żadnych lokalnych rzeczy, które czekają, aby je przepchnąć.Jak zapewnić, że wszystko zostało pchnięte gitem?
Ale ...
Przed usunięciem mojego lokalnego repo Chcę upewnić, że wszystko zostało zepchnięte na moim pilocie. Proces, przez który przechodzę, to zazwyczaj te trzy kroki:
git st # check if there's something I haven't committed
git stash list # check if I've stashed something
git log --oneline --decorate --all # check if all branches have been pushed
Chciałbym to uprościć. Szczególnie ostatni krok, który wymaga od mnie spojrzenia na wszystkie moje gałęzie i zobaczenia, czy lokalne i zdalne są zsynchronizowane. Aby być naprawdę pewnym, mógłbym nawet przewinąć trochę, aby upewnić się, że niczego nie brakuje.
Rozważam napisanie skryptu do robienia tego wszystkiego automatycznie, ale może istnieje już rozwiązanie? (Rozumiem, że nie muszę podkreślać, że chcę to zrobić w linii poleceń i nie używać żadnych wymyślnych GUI: D)
Jak się do tego zbliżacie? Jaki jest twój proces sprawdzania, czy niczego nie zapominasz? Z jakich narzędzi korzystasz? Wszystkie pomysły są mile widziane!
Jeszcze lepiej: użyj "git branch -vva" (uwaga double-v). Spowoduje to również wydrukowanie gałęzi upstream, w której została ustawiona, co stanie się oczywiste, jeśli coś nie zostało popchnięte. W ten sposób porównanie SHA1 będzie konieczne tylko dla lokalnych oddziałów bez gałęzi upstream. – sleske
@sleske: Okazało się, że wprowadzam w błąd. Wypisuje nieistniejącą gałąź zdalną dla gałęzi funkcji 'Foo'. –
Byłoby miło, gdyby downvoter mógł zostawić komentarz. W przeciwnym razie nie mogę naprawić odpowiedzi. –