Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [git] merge conflict - domyślnie nadpisz
sazian
post 4.05.2012, 21:32:21
Post #1





Grupa: Zarejestrowani
Postów: 1 043
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


Witam,
postanowiłem stworzyć swój pierwszy projekt w gicie.
Mam dwie gałęzie master i dev.
W gałęzi master były wszystkie pliki „startowe”.
Aby rozpocząć prace nad projektem przełączyłem się do dev pozmieniałem co trzeba, zrobiłem commit, wróciłem do mastera, zrobiłem merge iii... konflikt ;(
W podręczniku pro git(http://progit.org/book/pl/ch3-2.html) znalazłem że muszę użyć git mergetool. Ale okazało się że teraz muszę otwierać każdy plik, a następnie zamknąć go żeby potwierdzić zmiany których jestem pewien. Ponadto pliki które zostały usunięte w dev'ie ciągle były w masterze.

I tu moje pytania:
1) jak powiedzieć merge że jestem pewien tego co robię i nie musi mnie pytać o każdy plik ?
2) Czy jest możliwe aby pliki usunięte z dev'a były usuwane również w masterze ?

Może dodam że nad projektem pracuje sam, a gita traktuję raczej jako kopię bezpieczeństwa.

Pozdrawiam,
sazian
Go to the top of the page
+Quote Post
Necsord
post 4.05.2012, 21:40:49
Post #2





Grupa: Zarejestrowani
Postów: 189
Pomógł: 60
Dołączył: 5.10.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Osobiście nie używałem, ale będąc na branch dev:
git merge -s ours master
a potem z master'a dać merge dev'a.
Manual: http://schacon.github.com/git/git-merge.html

Co do drugiego pytania, pliki usunięte z dev powinny być także usunięte z mastera jeżeli nie są ignorowane w repozytorium.

Ten post edytował Necsord 4.05.2012, 21:49:08
Go to the top of the page
+Quote Post
sazian
post 4.05.2012, 22:04:18
Post #3





Grupa: Zarejestrowani
Postów: 1 043
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

Ostrzeżenie: (0%)
-----


Dzięki za szybką odpowiedz smile.gif

postanowiłem to sprawdzić i pojawił się mały problem, robiąc wszystko analogicznie nie udało mi się wywołać konfliktu.
Więc mam kolejne pytanie, czy jest możliwe że powstał konflikt jeśli zmiany były tylko w devie, a master pozostawał bez zmian ?

Cytat(Necsord @ 4.05.2012, 22:40:49 ) *
Co do drugiego pytania, pliki usunięte z dev powinny być także usunięte z mastera jeżeli nie są ignorowane w repozytorium.



Czyli nie da się tego zrobić automatycznie ?
Go to the top of the page
+Quote Post
Necsord
post 4.05.2012, 22:14:07
Post #4





Grupa: Zarejestrowani
Postów: 189
Pomógł: 60
Dołączył: 5.10.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Cytat(sazian @ 4.05.2012, 23:04:18 ) *
postanowiłem to sprawdzić i pojawił się mały problem, robiąc wszystko analogicznie nie udało mi się wywołać konfliktu.
Więc mam kolejne pytanie, czy jest możliwe że powstał konflikt jeśli zmiany były tylko w devie, a master pozostawał bez zmian ?

Konflikt powstaje, wtedy kiedy obie strony ( galęzie ) posiadają nieznane sobie zmiany w tym samym miejscu, czyli reasumując master miał jakieś zmiany, ale prawdopodobnie przy resecie do stanu wcześniejszego je usunąłeś, ponieważ nie były skomitowane.

Cytat(sazian @ 4.05.2012, 23:04:18 ) *
Czyli nie da się tego zrobić automatycznie ?

Powinno być robione automatycznie chyba, że użytkownik ustawił inaczej. Zauważ, że jak dodasz plik A i push'niesz, a następnie usuniesz to w histori zmian to usunięcie jest zarejestrowane, więc wraz z merge'em ta zmiana jest rejestrowana także.

Ten post edytował Necsord 4.05.2012, 22:14:50
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 11:17