Niedawno otworzyłem repozytorium na GitHub. Jestem nowy w Git. Jak zwykle z nowoprzybyłymi, popełniłem przy użyciu domyślnej nazwy i adresu e-mail, który w najlepszej tradycji noobu odkrył pięć zobowiązań zbyt późno. Teraz zaczyna się zabawa, ponieważ zacząłem szukać informacji o tym, jak zmienić nazwisko autora tych zatwierdzeń. W porządku. I w zasadzie znaleźć następujące informacje i wiele kopii:Zmień nazwisko autora poprzednich zatwierdzeń: Przesunięcia do przodu odrzucone
How to remove selected commit log entries from a Git repository while keeping their changes?
Change the author and committer name and e-mail of multiple commits in Git
Problem nie wydaje się być niczym niezwykłym. Mogę tylko powiedzieć, że żadne z rozwiązań nie zadziałało. Połowa z nich to odmiany tego samego skryptu git filter-branch -f --env-filter
. Próbowałem pracować nad tym skryptem wiele razy. Problem polega na tym, że po zastosowaniu skryptu nie mogę naciskać. "Przesunięcia do przodu odrzucone" lub coś w tym stylu. W porządku, jedynym sposobem na kontynuowanie jest ciągnięcie. Po wyciągnięciu wszystkie stare informacje są znów dostępne + nowy oddział z nowymi informacjami. Już siedzę tutaj z czterema gałęziami, połączonymi w najbardziej nieokrzesany sposób, wszystkie zawierają te same informacje z różnymi nazwiskami autorów, w tym ten, który chciałem usunąć.
OK, aby go krótko skrócić, próbowałem również usunąć wybrane zatwierdzenia, które wywołują konflikty wywołujące włosy, których nie jestem w stanie rozwiązać (jak?), I zmiażdżyć niektóre z nich na nowsze z poprawnymi informacje o autorze, co powoduje, że obecny stan projektu ulega zniszczeniu. Co więcej, pojawia się błąd segmentacji czasami po wykonaniu git rebase -i
, o którym jestem tutaj poinformowany: http://lists-archives.org/git/729800-rebase-i-segmentation-fault-and-another-problem.html jest całkowicie logiczny. Jedyną rzeczą, która działa (na szczęście), jest git rebase --abort
, która kilkakrotnie uratowała mi tyłek.
Mam nadzieję, że moja frustracja nie odstraszy, ale zamiast tego zabawi cię i pobudzi do pomocy. Chciałbym:
Aby usunąć powiedział informacji autor wreszcie
Bonus: Aby pozbyć się wszystkich gałęziach zawierających te same informacje.
Ale byłbym zadowolony z pierwszego też, jeśli przeszkoda usuwać przeszłości oddziały bez burzenie obecnego stanu jest zbyt dużo dla początkującego git. Z góry dziękuję.
duplikat [Co to jest „do przodu” w Git? ] (http://stackoverflow.com/questions/4684352/whats-a-fast-forward-in-git) –
Jak to jest duplikatem? To, że odpowiedź na pytanie jest pod pewnymi względami pokrewne, nie oznacza, że pytanie jest takie samo, ale odmiennie sformułowane. – Hinton
Uważam to za duplikat. Rozwiązania są zasadniczo identyczne, tzn. Wymuszają nacisk, ale wydaje się, że był to jedyny problem po pomyślnym przepisaniu historii. Jeśli ktoś się z tym nie zgodzi, nie może po prostu ponownie otworzyć twojego pytania. –