2012-11-28 4 views
12

Sto cercando di capire come usare correttamente questo comando. Credo che questo sia il comando e la flag Voglio essenzialmente fare un ramo nel mio altro ramo (in pratica cancelli un ramo e crea un nuovo ramo con lo stesso nome con i file di un altro ramo), ma non lo so per certo, o se ho la sintassi corretta.Cosa fa questo: git branch -f

Se faccio questo:

git branch -f master sub-branch 

Intende rimuovere tutti i file da master e riempire con i file da sub-ramo?

+4

Quando si sposta un ramo non si spostano file: tutti i rami sono solo indicatori di un commit particolare. Questo comando sposta il puntatore 'master' sul puntatore' sub-branch'. Titas ha la risposta corretta ma potresti voler leggere [What a branch is] (http://git-scm.com/book/it/Git-Branching-What-a-Branch-Is), specialmente partendo da Figura 3.4. – Nick

+0

@Nick Oh. Grazie mille per la spiegazione e la risorsa. Ovviamente sono ancora molto nuovo da git, quindi questo è un grande aiuto. – RileyE

+1

Nessun problema. Git può essere una bestia confusa, ma aiuta se riesci a visualizzare "l'albero" dei commit, i rami e le cose che li indicano. L'intero libro online è abbastanza leggibile, quindi mettilo nei tuoi segnalibri. – Nick

risposta

13

L'argomento -f sta per --force.

  • Se un ramo chiamato master esiste già, git non consentirà di sovrascrivere esso, a meno che non si utilizza -f.
  • Il secondo parametro (sub-branch) verrà utilizzato per determinare dove si deve puntare il ramo masterHEAD.