2015-01-17 17 views
6

Wynik wielu wyszukiwania w sieci jest taki, że pre-checkout hook in git nie jest jeszcze zaimplementowany. Powodem może być:Jak uzyskać haczyk "przed wylogowaniem" w Git/bitbucket?

  • Nie ma praktycznego zastosowania. Mam przypadek
  • Można to osiągnąć dowolnymi innymi sposobami. Proszę mi powiedzieć jak?
  • Jest zbyt trudny do wdrożenia. Nie sądzę, że jest to ważny powód

Tu jest mój problem:

ja wdrożyły pre-commit, post-merge & post-checkout haki do utrzymywania kopii zapasowej bazy danych innego dla każdego oddziału.

Scenariusz: Teraz, gdy zatwierdzę kopię zapasową bazy danych, zapisuję ją w pliku przy użyciu haka pre-commit. A kiedy się kasuje, pojawia się gałąź lub scalanie, baza danych przechowywana w pliku jest przywracana za pomocą haków. Teraz sytuacja jest taka, że ​​jeśli ktoś wprowadzi zmiany w bazie danych po zatwierdzeniu i pobraniu, zmiany zostaną utracone, ponieważ baza danych nie została utworzona kopia zapasowa. Kasy zakończyły się pomyślnie, ponieważ nie ma zmian w strukturze plików.

Tak więc w tym przypadku chcę haka pre-checkout do obsługi zadania tworzenia kopii zapasowych bazy danych w powyższym scenariuszu.

Odpowiedz

0

Dostałem powód, dla którego nie został wdrożony. W mojej sytuacji wykonuję kopię zapasową bazy danych i przechowuję ją w pliku, który nie powiedzie się za każdym razem. Wdrożenie tej funkcji będzie więc niepraktyczne.

0

Można napisać skrypt, który wykonuje kopię zapasową, a następnie kasę. Następnie utwórz alias powłoki, aby uruchamiał ten skrypt, gdy wpisujesz git checkout.

+0

Czy możesz dać mi przykład? – asachanfbd

0

Przypadek użycia przed pobraniem: usuń niesklasyfikowane pliki lokalne wygenerowane przez zadanie gulp watch:css, aby zostały one nadpisane po pobraniu i przebudowane przez gulp.

Zamiast tego, zamierzam napisać skrypt powłoki, który otrzyma katalog główny repo, a następnie usunie dowolną listę znalezionych plików generujących haust.

Powiązane problemy