2010-07-19 14 views
16

Używam git rerere i jest to użyteczne, ale jest jeden problem: gdy automatycznie rozpoznaje plik, nie oznacza go jako rozwiązany (np. Z git add). Więc jeśli uruchomię "git mergetool", otwiera się plik tak, jakby nadal zawierał wszystkie konflikty.Czy git rerere automatycznie oznaczy pliki jako rozwiązane?

Do tej pory stworzyłem mały skrypt powłoki, który mogę wywołać, który skanuje wszystkie pliki oznaczone jako będące w konflikcie w przypadku znaczników konfliktu (np. >>>>>>>), i wywołuje git-add na nich, jeśli ich nie ma.

Czy jest lepszy sposób to zrobić? Jakieś flagi git rerere, które przeoczyłem?

Odpowiedz

17

Może ustawienie git config może pomóc:

rerere.autoupdate 

Gdy wartość true, git-rerere aktualizuje indeks wynikających z treści po równo rozwiązuje konflikty za pomocą uprzednio nagranej rozdzielczość.
Domyślnie false.

Uwaga: ponieważ Git1.7.0,

"git rerere" miał rerere.autoupdate konfigurację, ale nie było sposobu, aby odwołać go z linii poleceń;
--no-rerere-autoupdate opcja podana jako "merge", "revert" itd. Naprawia to.

+0

Ach, był mój problem. Szukałem pomocy na stronie git-rerere, która jest dość rzadka. Nie pomyślałam, żeby przejrzeć inne strony z GIT-MANem, żeby sprawdzić, czy mają w nich również informacje o reedycji! – davr