Mam repozytorium git z dwoma niepowiązanymi gałęziami, master i configs. Utworzyłem konfiguracje, wyczyściłem wszystkie pliki, a następnie umieściłem je tylko w plikach konfiguracyjnych. Teraz chcę wrzucić to do zdalnego repozytorium, ale jak to było nowe, puste gałąź (bez logów wszystkich moich zmian i starych wersji oryginalnej gałęzi).
Jak mogę oczyścić całą historię i ją przepchnąć?
Odpowiedzi:
Wyczyszczenie wszystkich plików nie usuwa historii. Musisz najpierw stworzyć gałąź, która nie ma historii i dodać swoje pliki konfiguracyjne. W dzisiejszych czasach dostępna
git checkout
jest--orphan
opcja, która tworzy gałąź bez historii. Oto informacje o--orphan
opcji:Oto link do dokumentacji do kasy . Możesz też biegać
git help checkout
.Po utworzeniu gałęzi bez historii, a następnie po przesłaniu jej na serwer, również nie będzie miała tej historii. FWIW, pomaga mi myśleć o
git push
„sprawieniu, aby zdalna gałąź wyglądała tak samo jak moja lokalna”. Więc jeśli masz historię i naciskasz, będzie miała historię. Jeśli tego nie zrobisz, wypchnięta gałąź nie.źródło
Jak mogę oczyścić całą historię i ją przepchnąć?
Następnie możesz uruchomić swój
por. ten jednowierszowy
źródło
Musiałem to zrobić, aby wysłać freelancerowi jakiś kod bez udostępniania prywatnych informacji lub usuwania mojej historii.
W przypadku, gdy któryś z was używa SourceTree, tak mi się to udało. Daj mi znać, jeśli zrobiłem coś źle lub o czymś zapominam, ponieważ bardzo nie znam zarządzania kontrolą źródła.
Kiedy sprawdziłem Bitbucket, wydaje się, że to zadziałało i porzuciłem moją historię zatwierdzeń.
Mam nadzieję, że to komuś pomoże.
źródło