Mamy problem w naszym zespole i zdecydowaliśmy się sprawdzić, czy istnieje metoda lub polecenie git, aby odrzucić git push, gdy w kodzie znajdują się TODO. Jakieś pomysły? Z góry dzięki.Jak wyłączyć git push, gdy istnieją TODO w kodzie?
Odpowiedz
nie jest możliwe stosowanie wstępnie odbierać haki w github, więc używamy zamiast pre-commit na stronie klienta: http://git-scm.com/book/en/Customizing-Git-Git-Hooks#Client-Side-Hooks
Nasz pre-commit skrypt (w oparciu o http://mark-story.com/posts/view/using-git-commit-hooks-to-prevent-stupid-mistakes) wygląda następująco:
#!/bin/sh
for FILE in `git diff-index -p -M --name-status HEAD -- | cut -c3-` ; do
if [ "grep 'TODO' $FILE" ]
then
echo $FILE ' contains TODO'
exit 1
fi
done
exit
mamy ten skrypt na podstawie naszego systemu kontroli wersji i stworzyć symboliczny link do niego w .git/haki
dzięki za pomoc :)
EDIT: z powodu zachowania grep w if my potrzebne do edycji naszego skryptu:
#!/bin/sh
for FILE in `git diff --name-only --cached`; do
grep 'TODO' $FILE 2>&1 >/dev/null
if [ $? -eq 0 ]; then
echo $FILE ' contains TODO'
exit 1
fi
done
exit
Wstępnie otrzymać hak na serwerze, grep pliki i przerwać push :)
Więcej informacji na temat wstępnego otrzymać hak można znaleźć tutaj: http://git-scm.com/book/en/Customizing-Git-Git-Hooks#Server-Side-Hooks
Jakieś pomysły lub link, gdzie można przeczytać o tym, pracując w github? Nasz projekt jest hostowany na github i widzę tylko hak po otrzymaniu:? Oczywiście możemy używać haków po stronie klienta (takich jak hook przed zatwierdzeniem), ale musimy go utworzyć na wszystkich naszych maszynach. Dzięki za pomoc :) – y2josei
- 1. Przechowywanie TODO w trybie org w kodzie źródłowym
- 2. Różnica między git push origin master i git push
- 3. Jak włączyć/wyłączyć powiadomienia push z aplikacji?
- 4. BitTruit git push as user
- 5. git push przez cron
- 6. git hak post-push?
- 7. git push vs git push origin <branchname>
- 8. git push nie działa
- 9. mean.io git push repo
- 10. Tagi Git znikają, gdy robisz push, a następnie klonujesz?
- 11. Git push trwa wiecznie
- 12. Znacznik push Git force, gdy znacznik już istnieje na zdalnym
- 13. Jak wyłączyć git podpisywanie gpg
- 14. Odbieranie wiadomości e-mail w GIT push
- 15. wyłączyć gest machnięcia w kodzie Xcode 4
- 16. Błąd Libcurl.dll z Git push
- 17. Jak wyłączyć lokalizację w git 1.8
- 18. git push after git filter-branch rejected
- 19. Jak uruchomić skrypt bash po git push
- 20. jak wyłączyć usuwanie pustych kodów w C++ w kodzie Xcode
- 21. Jak wyłączyć ostrzeżenie w kodzie Xcode w konkretnym wierszu?
- 22. Pokaż wersję Git w kodzie R
- 23. Jak skonfigurować git aby uniknąć przypadkowego git push
- 24. GitLab v5.0 git problemy Push
- 25. "git push": kompilacja slug wisi
- 26. Czy mogę "wyłączyć" git-clone przez http?
- 27. Integracja Mylyn Eclipse TODO
- 28. Jak wyłączyć Git Credential Manager dla Windows?
- 29. Jak wyłączyć kompresję po stronie serwera git?
- 30. Git Push nie działa, nie ma błędu
Nie zapomnij o "chmod + x .git/hooks/pre-commit' po utworzeniu pliku – dutzi