Domanda

Diciamo che creiamo una filiale new_branch.Cambiamo 1 file lì, commettere questo file, spingere e creare una richiesta di tiro a parent rep/master.

Nel frattempo il genitore rep ha cambiato un bel po ', diciamo che 100 file sono stati modificati ma che 1 file non è stato toccato.

E ancora, tirare Richiesta Diff mostrerà che solo 1 file è stato modificato.

Allora, come GIT capisce che in realtà 1 file deve essere unito solo e non 101 file.Voglio dire parent rep/master Confronta con child rep/new_branch Infatti 101 file sono stati modificati e non 1 file ..

È stato utile?

Soluzione

È un unione a tre vie, il che significa che Git confronterà la tua evoluzione contro l'antenato comune tra:

    .
  • il tuo ramo
  • The partrerepo branch

Quella differenza è quella richiesta per l'unione.

Vedi di più a "< Perché un unione a 3 vie vantaggioso su un unico unico Merge? ".

.
A----C  (yourBranch: 1 file modified, compared to A, the common ancestor)
 \
  --B   (parentRepo master: 100 files modified)
.

Quando si unisce:

A----C  
 \    \
  --B--D (only one file is merged to parentRepo branch)
.

Vedi di più a "< ProLibro git: fusione di base ":

http://git-scm.com/figures/18333fig0316-tn.png

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top