2013-10-05 15 views
8

Ho due repository locali git. Entrambi condividono un file identico, sotto un percorso diverso e con un nome diverso. Attualmente, quando apporto le modifiche, devo copiare il file da una directory a un'altra.Come sincronizzare comodamente un file tra due repository git

Esiste un modo alternativo per mantenerli sincronizzati senza sovrascrivere manualmente il file? Non voglio creare un repository separato per questo file. Ho pensato che una delle seguenti cose avrebbero funzionato, ma a quanto pare, non lo fanno:

  • git modulo
  • git sottostruttura
  • link simbolico morbido
  • link simbolico difficile

Che altro è Là?

+0

Ciao, sei praticamente chiamato la maggior parte delle cose che mi passano per la mente. Se ti preoccupi solo di non dover aggiornare manualmente (devi comunque eseguire il commit e inserire due reposli differ), andrei con il link simbolico, quello duro. – bitoiu

+0

@bitoiu Oh, pensavo che l'hard link non funzionasse. Apparentemente, lo fa. Anche se deve essere resettato dopo il check-out. – RevMoon

risposta

7

L'unica altra alternativa sarebbe un post-commit hook su repoA, che avrebbe, in ogni commit:

  • controllo se il file è parte di dette commettere
  • copiarlo nella repoB con la strada giusta.
+0

oh, fantastico! Ma puoi fornire alcuni esempi per la tua risposta? – gaussblurinc

+0

@gaussblurinc in questo hook post-commit, devi elencare tutti i file modificati per rilevare il tuo file ed elaborarlo: http://stackoverflow.com/a/4206210/6309 – VonC

+0

sicuro, ok, ma come posso copiare le modifiche del file a un altro git? File non intero ma si tratta di modifiche? – gaussblurinc

Problemi correlati