Wiem, jak scalić modyfikację za pomocą vimdiff, ale zakładając, że wiem, że cały plik jest dobry do przechowywania lub wyrzucenia, jak to zrobić?
Nie chcę otwierać vimdiff dla każdego z nich, zmieniam polecenie, które mówi „bądź lokalny” lub „trzymaj zdalny”.
EG: Dostałem scalenie z plikami oznaczonymi jako zmienione, ponieważ ktoś otworzył je pod oknami, zmieniając EOL, a następnie zatwierdził. Podczas łączenia chcę zachować własną wersję i odrzucić jego wersję.
Interesuje mnie też coś przeciwnego: spieprzyłem dużo czasu i chcę zaakceptować zdalny plik, odrzucając moje zmiany.
git version 1.8.4
jeśli to ma znaczenie.Takie podejście wydaje się prostsze, unikając konieczności indywidualnego wybierania każdego pliku:
lub
Kopiowane bezpośrednio z: Rozwiąż konflikty scalania Git na korzyść ich zmian podczas ściągania
źródło
git checkout {branch-name} -- {file-name}
Spowoduje to użycie pliku z wybranej gałęzi.
Podoba mi się to, ponieważ
posh-git
autouzupełnianie działa świetnie z tym. Usuwa również niejasności co do tego, która gałąź jest zdalna, a która lokalna. I--theirs
tak nie działało dla mnie.źródło
Aby uzyskać informacje na temat końca linii, zobacz
man git-merge
:Pamiętaj, aby dodać
autocrlf = false
i / lubsafecrlf = false
klon systemu Windows (.git / config)Korzystanie z git scaletool
Jeśli skonfigurujesz narzędzie do łączenia w ten sposób:
To proste
Wykonam robotę
Używanie prostych poleceń git
W innych przypadkach zakładam
powinien załatwić sprawę
Edytuj, aby zrobić odwrotnie (ponieważ spieprzyłeś):
źródło
git checkout remote/branch_to_merge -- path/to/myfile.txt
działa jak urok podczas rozwiązywania konfliktu scalania. (git 1.7.1)