Sprawdziłem kilka commitów na master
, które powinny zostać sprawdzone pod develop
. Jakie komendy git użyłem do usunięcia tych zatwierdzeń z gałęzi głównej i uwzględnienia w gałęzi rozwijania?Jak przenieść git z master do innej istniejącej gałęzi
Odpowiedz
Można cherry-pick
swoje zobowiązuje się do develop
a potem interaktywnie rebase
Twój master
Branża:
git checkout develop
git cherry-pick aabbcc
git cherry-pick ddeeff
- ....
git checkout master
git rebase 123456 -i
gdzie 123456
jest popełnić zanim popełnił błąd. Spowoduje to otwarcie edytora, który wyświetli każde zatwierdzenie, na które będzie mieć wpływ rebase. Usuń linie odpowiadające zatwierdzeniom, które chcesz odrzucić i zakończ edytor.
radzenia sobie w innej gałęzi można wykorzystać cherry picking:
git cherry-pick <commit>
Usuwanie nie jest takie proste. Można użyć rebase i squasha lub edytować popełnić:
git rebase -i <commit>~1
Ale nie jestem pewien, kiedy chosing zmienił podczas rebase czy można edytować pliki również zamiast tylko popełnić wiadomość.
'edit' podczas interaktywnego rebase umożliwia edycję commit-message i plików,' reword' pozwala tylko modyfikować commit-message. –
Są to zazwyczaj kilka sposobów, aby zrobić to samo w git jeden możliwy sposób:
git checkout develop
git cherry-pick XXX // XXX being the sha1 of the commit you want to grab
git checkout master
git rebase --interactive HEAD~IDX // IDX being the position of the last "good" commit compared to HEAD
Ostatnia komenda wyświetli wszystkie opinię od głowy do ostatniej dobra popełnić i wszystko co musisz zrobić, to usunięte linia commit aby przeniósł się do oddziału rozwijać
Jeśli się nie mylę, trzeba było dwa zsynchronizowane oddziały, master
i dev
, i po prostu zapomniał wyłączyć oddział, przed swoimi zobowiązuje.
Jeśli tak jest, to mamy:
----------------
git log in dev
xxx
yyy
...
----------------
oraz:
----------------
git log in master
ccc
bbb
aaa
<---- here you forgot to switch branch
xxx
yyy
...
----------------
Rozwiązaniem jest:
Po pierwsze, upewnij się, że:
git status -s
zwraca puste wyniki.
Następny, aby wszystkie nowe rewizje z master
do dev
z:
git checkout dev
git merge master
teraz do was master
:
git checkout master
Usuń niepotrzebne zobowiązuje:
git reset --hard HEAD~3
numer ~3
to liczba Twoich zobowiązań chcę usunąć.
Pamiętaj: git status -s
musisz zwrócić puste wyniki. W przeciwnym razie git reset --hard
może spowodować utratę danych.
- 1. Klonowanie z gałęzi innej niż master
- 2. Jak przenieść master do HEAD?
- 3. Git Skopiuj folder z gałęzi głównej do innej gałęzi
- 4. Od master, commit do innej gałęzi
- 5. Git: przenieś konkretne zatwierdzenia do innej gałęzi
- 6. Nie mogę przekazać gałęzi master do repozytorium git z netbeans
- 7. Git: przenoszenie commitów z master do innego oddziału
- 8. Jak przenieść bieżącą pracę do gałęzi tematycznej?
- 9. git: pobierz pliki z innej gałęzi do bieżącej gałęzi (nie przełączaj HEAD do drugiej gałęzi)
- 10. cofnij git pull z niewłaściwej gałęzi na master
- 11. Git: zresetować/przywrócić całą gałąź do stanu innej gałęzi?
- 12. Jak przenieść gałąź do tyłu w git?
- 13. Jak przenieść commit pomiędzy gałęziami w Git?
- 14. Wbuduj gałąź gh z gałęzi master
- 15. Jak przenieść katalog do repozytorium git?
- 16. Jak chronić gałąź GIT (jak master)
- 17. Jak przenieść instancje ec2 do innej podsieci
- 18. Organizowanie gałęzi git
- 19. Git: Jak przenieść podkatalog do oddzielnego oddziału tego samego repozytorium
- 20. Przełączanie gałęzi w git
- 21. Git, Jak zresetować origin/master do commit?
- 22. Jak zresetować gałąź master git do gałęzi upstream w rozwidlonym repozytorium?
- 23. Git: Zapobiegaj zatwierdzeniom w gałęzi głównej
- 24. Jak poprawnie używać git i gałęzi
- 25. Git - jak znaleźć pierwszą popełnienia konkretnych gałęzi
- 26. Różnica między ciągiem git. master vs git merge master
- 27. git odmawiającej sprowadzić do bieżącej gałęzi
- 28. Jak scalać określone pliki z gałęzi Git
- 29. Travis: inny "skrypt" dla innej gałęzi?
- 30. Jak szukać w innej gałęzi niż master w prywatnym repozytorium github?
Czy spojrzałeś na tę odpowiedź? - http://stackoverflow.com/questions/1773731/in-git-how-do--remove-a-commit-from-one-branch-and-apply-it-to-a-different-bra?rq = 1 –
wygląd w tym: [ruch-ostatni zatwierdzeń-do-a-new-gałęzi] [1] [1]: http://stackoverflow.com/questions/1628563/move-recent -commit-to-a-new-branch –
ponieważ na górze znajduje się blok "to pytanie może już mieć odpowiedź", chcę tylko zaznaczyć, że moje pytanie nie dotyczy przeniesienia do gałęzi _nowy_, chodzi o przejście do inny oddział _istniejący – gitq