Tak, ale najczęściej będzie to wykonywane ręcznie. Powiesz Gitowi, że scalasz dwie odpowiednie gałęzie, ale to nie powinno próbować zatwierdzić wyniku samodzielnie, (zredagowany, aby dodać:, ani nie przewinąć do przodu, jeśli sądzi, że scalanie jest trywialne):
git merge --no-commit --no-ff branch-to-merge
Potem pytasz git do pliku, ponieważ pojawiła się w dwóch oddziałach:
git show HEAD:filename >filename.HEAD
git show branch-to-merge:filename >filename.branch
i ich podstawy seryjnej,
git show `git merge-base HEAD branch-to-merge`:filename >filename.base
będziesz połączyć je USI Narzędzie ng cokolwiek chcesz (np)
meld filename.{HEAD,branch,base}
będziesz etapie, że (git add filename
), a następnie popełnić scalanie (git commit
).
I robisz to wszystko jak ...? –
Zastanawiasz się nad tym samym Graham ... Próbowałem zrobić 'git merge --no-commit branch' i to się połączyło ... Chciałbym mieć 3 pliki lub 2 pliki. Że mogę użyć diff i przenieść wszystko, co chcę do tego pliku. – Steven
Jeśli chcesz, aby oryginalne polecenie scalania pozostawiło * wszystko * w spokoju, do zrobienia ręcznie, możesz nazwać je 'git merge -s ours', aby zachować wszystko, co jest w aktualnej gałęzi, ale to od Ciebie zależy, czy upewnij się, że zmiany w innych plikach przejmują kontrolę. – Novelocrat