Può essere condiviso tramite un ramo dedicato. Vuoi fermarti se c'è un conflitto su quel ramo e risolverlo perché significa che ci sono stati tentativi di risolvere lo stesso conflitto in 2 modi diversi. Inutile dire che sarà l'eccezione alla regola.
Per gli altri su questa domanda, google "Filiale per funzionalità" per vedere dove questo è utile.
Gli hook possono automatizzare la sincronizzazione del ramo rr-cache comune.
Ecco ciò che è necessario automatizzare. rereresharing è un ramo di esempio a cui si sta unendo, rr-cache è un ramo che memorizza le risoluzioni; tutti questi passaggi hanno lavorato senza alcun problema:
git checkout --orphan rereresharing start-sprint-1
git --git-dir=.git --work-tree=.git/rr-cache checkout -b rr-cache
git --git-dir=.git --work-tree=.git/rr-cache add -A
git --git-dir=.git --work-tree=.git/rr-cache commit -m "initial cache"
git clean -xdf
git checkout rereresharing
git merge --no-ff FTR-1
git merge --no-ff FTR-2
vim opinion.txt # resolve conflict
git add -A
git commit
git checkout rr-cache
git --git-dir=.git --work-tree=.git/rr-cache add -A
git --git-dir=.git --work-tree=.git/rr-cache commit -m "resolution"
git remote add origin ../bpf-central
git push origin rereresharing rr-cache
cd - # assumes you were previously in the other local repo
git remote add origin ../bpf-central
git fetch
git branch rr-cache origin/rr-cache
ls .git/rr-cache
git --git-dir=.git --work-tree=.git/rr-cache checkout rr-cache -- .
ls .git/rr-cache
Si è ora pronti a fare lo stesso si fondono e si avrà risolto il conflitto.
fonte
2012-09-25 20:15:40
Se è necessario condividere la cache di rerere l'una con l'altra, è possibile che si verifichino sovrascritture di rami che si ripetono. Penso che la soluzione standard a questo problema non sia quella di condividere le cache, ma di non rebase mai di ciò che è visibile. Quindi tutti possono ripulire i propri problemi di rebase dalle proprie filiali private poiché probabilmente sanno cosa stanno facendo. –
Non è possibile includere la rr-cache nel repository, perché è già presente in esso. Nel caso in cui hai chiesto se è possibile renderlo parte della storia: sì, ma non sembra una buona idea (cambia a causa della modifica della cronologia, non a causa della modifica del contenuto, che Git tiene traccia, e tu hai per impostare il rr-cache tracciato in ogni nuovo repository) – fork0
è vero, ma se lo si imposta tramite script, sei a posto. –