Mam gałąź git o nazwie 9-sign-in-out
z doskonale działającym kodem i chcę go przekształcić w master. Obecnie jestem w oddziale głównym.
$ git branch
9-sign-in-out
* master
Próbuję przejść do 9-sign-in-out
oddziału, ale nie pozwala mi to:
$ git checkout 9-sign-in-out
app/helpers/application_helper.rb: needs merge
config/routes.rb: needs merge
error: you need to resolve your current index first
Masz pomysł, jak mogę zignorować wszystkie błędy gałęzi master i zamienić 9-sign-in-out
gałąź w master? Może git rebase ? Ale nie chcę zgubić kodu w 9-sign-in-out
oddziale.
git
branch
git-merge
git-branch
Sayanee
źródło
źródło
Odpowiedzi:
Warto zrozumieć, co oznaczają te komunikaty o błędach -
needs merge
ierror: you need to resolve your current index first
wskazać, że scalenie nie powiodło się i że w tych plikach występują konflikty. Jeśli zdecydowałeś, że cokolwiek, co próbujesz wykonać, było w końcu złym pomysłem, możesz przywrócić normalność dzięki:W przeciwnym razie powinieneś rozwiązać te konflikty scalania, jak opisano w podręczniku git .
Gdy już poradzisz sobie z tą techniką, powinieneś być w stanie sprawdzić kasę
9-sign-in-out
. Problem z samą zmianą nazwy9-sign-in-out
namaster
, jak sugerowano w odpowiedzi wRAR, polega na tym, że jeśli udostępniłeś komukolwiek poprzednią gałąź master, spowoduje to dla nich problemy, ponieważ jeśli historia dwóch gałęzi się rozdzieli, opublikujesz przepisane od nowa historia.Zasadniczo, co chcesz zrobić, to połączyć swój temat oddział
9-sign-in-out
wmaster
ale dokładnie zachować wersje plików w temacie branży. Możesz to zrobić, wykonując następujące czynności:źródło
webrat.log
źródło
jak sugeruje
git status
,Kiedyś
git add
kończyłem scalanie, a potemgit checkout
działa dobrze.źródło
mój problem to (master | REBASE 1/1)
to polecenie działało dla mnie
źródło
git commit -m "Scalony master naprawił konflikt."
źródło