jak dokładnie dochodzi do konfliktu Git merge?
Zrobiłem repozytorium git i dodałem do niego plik tekstowy. Jest to w 100% do celów edukacyjnych.
Dodałem "1" do pliku tekstowego i zobowiązałem go do mastera.
Stworzył nową gałąź z master i dodał "2".
W końcu stworzył gałąź od mistrza i dodał "3".
Czy mógłby Pan wyjaśnić, jak może dojść do konfliktu w tym lub innym scenariuszu?
2 answers
Będziesz miał konflikt jeśli połączysz:
-
branch2
domaster
(Brak konfliktu) -
branch3
domaster
(konflikt):
To dlatego, że:
- wspólnym przodkiem będzie
master
(z drugą linią pustą) - zawartość źródłowa to
branch3
(z drugą linijką zawierającą "3") - zawartość docelowa jest najnowsza z
master
(z drugim wierszem zawierającym "2", od połączeniabranch2
domaster
)
Git poprosi Cię o wybierz zawartość, którą chcesz zachować ("3", "2" lub obie).
Najpierw połącz po:
git config merge.conflictstyle diff3
Zobacz " napraw konflikty merge w Git?".
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:33:26
Konflikt scalania występuje, gdy dwie gałęzie modyfikują ten sam region pliku i są następnie scalane. Git nie może wiedzieć, którą ze zmian zachować, dlatego potrzebuje ludzkiej interwencji, Aby rozwiązać konflikt.
W tym przypadku kroki 2 i 3 tworzą dwie gałęzie, które mają sprzeczne zmiany.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-20 15:46:11