Witam,
Mam repo w GIT. Ok, commituje lokalnie zmieniam HEAD i hash. Pushuje online do repozytorium.
I teraz na innym kompie pracuje na lokalnej wersji (jeszcze nie pull'owana ani nie merge'owana).
I chce wrzucić swoje zmiany do repo. Oczywiście nie mogę ponieważ wersje nie są zmergeowane, inny HEAD hash itd.
Jeżeli ściągne pullem branche z repo i chce je zmergeować z moją lokalną wersją, to jak to zrobić aby było widać zmiany?
Switch Branch (wykonuje się wraz z checkoutem) i zmieniając branch na online'owy podmienia mi pliki (moje znikają) - to jest jasne.
ALe kiedy jestem na lokalnym HEAD zcommitowany i klikam Merge revision, to on mi automatycznie podmienia pliki i właściwie nie widzę jakie pliki się pojawiły, co zostało usunięte a co zmodyfikowane.
Jak realizować ten proces? Aby podczas mergeowania branchów, przed faktycznym nadpisaniem plików było widać co się pojawiło i zmieniło?
Dajmy na to pracuję nad pewną klasą (z przyczyn błędnego kierowania) ktoś inny też pracuje nad tą klasą. To podczas mergeowania chciałbnym wybrać te linie lub zmiany, które faktycznie będą dobre. Chciałbym widzieć, które moje lokalnie zcommitowane zmiany zostaną nadpisane.
I jeszcze jedno: Jak pobrałem branche z repo online i merguje, to te branche zawsze nadpisują mój lokalny? (Dlaczego nie odwrotnie?)
Po prostu w uproszczeniu brakuje mi czgoś takiego: Będąc na lokalnym repo HEAD (abcd213) chciałbym zrobić Diff z remote branch f1/TEST123 (hasduihi3248472) zanim generalnie przełącze się (switch) lub zmerguje (pozwole nadpisać swój lokalny HEAD commit)
I to się nazywa MERGE CONFLICT RESOLVER który odpala się podczas mergeowania.
Tylko nie rozumiem dlaczego nie odpala się gdy np. merguje pliki lokalne z lokalnych branchów
I jeszcze jedno pytanko:
Jak jest właściwie różnica pomiędzy Switch to Branch i Checkout Branch