Guide Git
Crea e cambia rami Git: scegli il giusto punto di partenza
Una nuova filiale è facile; avviarlo dal commit sbagliato è la parte costosa. Scopri come creare, cambiare e tenere traccia dei rami, proteggere le modifiche non completate e controllare il risultato in GitTree.
Utilizza `git switch -c feature/checkout` per creare un ramo al commit corrente e passare ad esso. Per passare a un ramo locale esistente, utilizza git switch branch-name. Per crearne uno in un punto di partenza diverso, includi quel commit o ramo dopo il nuovo nome. In GitTree, Branch apre la finestra di dialogo di creazione; controlla il suo commit iniziale prima di confermare.
La questione pratica è su quale storia dovrebbe basarsi il tuo prossimo cambiamento. Una funzionalità per la prossima versione potrebbe iniziare da main; una patch urgente per una versione precedente dovrebbe iniziare da quel ramo di versione. Questa guida segue il ramo di una funzionalità dalla base fino al primo push, con un esempio animato GitTree. GitTree è il client che creiamo per macOS, Windows e Linux; le operazioni delle filiali locali sono incluse nel piano gratuito e le attuali build ufficiali richiedono l'accesso.
Cos'è un ramo Git e cosa significa HEAD?
Un ramo è un nome che punta a un commit. La creazione di un altro nome non duplica il repository o i suoi file. HEAD normalmente identifica il ramo che hai estratto; i nuovi commit fanno avanzare quel ramo. Il passaggio modifica i file estratti nella cronologia di destinazione preservando le modifiche locali compatibili. Un grafico visivo dei commit semplifica l'ispezione delle etichette dei rami e dei relativi commit condivisi.
| Comando | Crea una filiale? | Passa ad esso? |
|---|---|---|
git branch feature/checkout | Sì, alla HEAD | No |
git switch -c feature/checkout | Sì, alla HEAD | Sì |
git switch feature/checkout | Utilizza una filiale locale esistente | Sì |
git checkout -b feature/checkout | Sì; vecchia ortografia del checkout | Sì |
Crea un ramo dalla base corretta
Ispeziona prima il ramo corrente e le modifiche locali. Se il tuo team desidera l'ultimo main recuperato come base, recupera e nomina esplicitamente origin/main. Recupera gli aggiornamenti dei riferimenti di tracciamento remoto; non sposta automaticamente il file principale locale. Sostituisci origin, main e il nome della funzionalità con i nomi effettivi del repository.
git status
git branch --show-current
git fetch origin
git log -1 --oneline origin/main
git switch --no-track -c feature/checkout origin/main
git branch --show-current
git log -1 --onelineQui --no-track evita che il ramo della funzione segua l'origine/principale solo perché inizia lì. Il suo eventuale upstream dovrebbe normalmente essere il proprio ramo di funzionalità sul remoto. Se invece vuoi iniziare dal commit corrente, utilizza git switch -c feature/checkout senza un punto iniziale. Utilizza git branch -vv per controllare le relazioni di tracciamento.
Passa a un ramo esistente e torna a quello precedente
git switch feature/checkout
git branch --show-current
git switch -Esegui ogni passaggio quando desideri effettivamente modificare le attività; questi comandi sono un riferimento, non passaggi da eseguire alla cieca. git switch - ritorna al ramo o al commit precedentemente estratto. Lo switch Git è disponibile da Git 2.23; sulle installazioni precedenti, git checkout branch-name è l'equivalente stabilito per cambiare filiale. Non aggiungere mai un'opzione di forza semplicemente per mettere a tacere un rifiuto.
Come creare e cambiare ramo in GitTree
Controlla da dove stai iniziando
Ispeziona il ramo corrente nel grafico. Seleziona Ramo nella barra degli strumenti per iniziare dal commit corrente oppure fai clic con il pulsante destro del mouse su un commit e scegli Crea ramo qui.
Rivedi la base e il nome
Leggi Crea un ramo in, quindi inserisci un nome di attività come funzionalità/impostazioni-copia. GitTree convalida il nome prima di crearlo.
Crea e controlla
Mantieni abilitato Check out il nuovo ramo se vuoi lavorarci immediatamente, quindi scegli Crea ramo.
Conferma il ramo corrente
Trova l'etichetta del nuovo ramo e il segno di spunta del ramo corrente. Il tuo prossimo commit farà avanzare questo ramo.
Cambia quando sei pronto
Fai doppio clic sull'etichetta di un altro ramo o utilizza la relativa voce del menu Checkout. Se le modifiche locali bloccano il passaggio, scegli come preservarle prima di procedere.

Scarica GitTree per vedere i rami e i relativi commit iniziali prima di cambiare. Il tuo repository rimane un normale repository Git, quindi puoi spostarti tra l'interfaccia visiva e i comandi del terminale.
Cosa succede alle modifiche non confermate quando si cambia filiale?
Le modifiche non confermate non vengono ancora archiviate in un ramo. Git può trasportarli attraverso uno switch quando sono compatibili con la destinazione. Si interrompe se lo switch sovrascrive le modifiche locali. Quel rifiuto tutela il lavoro; ciò non significa che il repository sia danneggiato. Controlla git status prima e dopo il passaggio anziché dare per scontato che ogni modifica appartenga al ramo in cui ti trovavi.
GitTree offre Stash e Switch, Commit First e Discard and Switch quando le modifiche locali bloccano il pagamento. Scegli l'opzione che corrisponde al tuo intento. Lo stoccaggio conserva una copia locale temporanea; il commit registra uno snapshot nella cronologia; lo scarto rimuove le modifiche funzionanti. Non scegliere Scarta come metodo di routine per cambiare ramo. La guida allo stoccaggio spiega come ispezionare e ripristinare il lavoro salvato.
Crea una filiale locale da una filiale remota
git fetch origin
git branch --remotes
git switch -c feature/checkout --track origin/feature/checkout
git branch -vvQuesto esempio presuppone che il ramo della funzione/checkout locale non esista ancora e il ramo remoto sì. Se esiste già localmente, passa ad esso invece di provare a crearlo di nuovo. Un nome di tracciamento remoto come origine/funzionalità/checkout è l'ultima vista recuperata del ramo del server; la filiale locale è dove ti impegni. Il monitoraggio non sincronizza i file in modo continuo.
Pubblica il tuo nuovo ramo quando la modifica è pronta
git status
git branch --show-current
git push -u origin feature/checkoutLa creazione di un ramo locale non lo carica. Dopo aver esaminato e confermato le modifiche previste, spingere il ramo a condividere i propri commit; -u registra la relazione a monte. Confermare il telecomando di destinazione e il ramo prima della prima pressione. Per un flusso di lavoro di caricamento più ampio, consulta invio di un progetto a GitHub. Un push non pubblica modifiche non correlate o voci di stash locali non correlate.
Correggi gli errori comuni del ramo senza forzare il passaggio
| Messaggio o sintomo | Cosa controllare |
|---|---|
| La filiale esiste già | Passa ad esso o scegli un nuovo nome diverso |
| Riferimento non valido/ramo sconosciuto | Controlla l'ortografia, recupera e ispeziona gli elenchi di filiali locali e remote |
| Le modifiche locali verrebbero sovrascritte | Prima affida o archivia il lavoro interessato |
| Il ramo è utilizzato da un altro albero di lavoro | Apri quell'albero di lavoro o scegli un altro ramo |
| TESTA staccata | Crea un ramo al commit corrente prima di uscire se vuoi mantenere il lavoro |
Se hai modificato solo il ramo sbagliato senza impegnarti, la creazione di un nuovo ramo nell'HEAD corrente spesso ti consente di continuare lì con quelle modifiche. Se hai già eseguito il commit della correzione, trasferirla è un compito diverso: la guida alla selezione spiega come copiare il commit scelto. Per due attività attive, utilizza alberi di lavoro separati in modo che il cambio di una cartella non interrompa l'altra.
Domande frequenti
Git branch crea e cambia allo stesso tempo?
git branch new-name crea il nome senza cambiare. git switch -c new-name lo crea e lo controlla.
Devo diramarsi da main o origin/main?
Utilizza la revisione esatta da cui dovrebbe iniziare la tua attività. Principale locale e origine/principale possono differire; fetch aggiorna quest'ultimo, non il primo.
Cambiare filiale cancellerà le mie modifiche?
Git normalmente rifiuta un passaggio che sovrascriverebbe il lavoro locale. Le modifiche compatibili potrebbero seguirti. Ispeziona lo stato e conferma o archivia il lavoro importante prima di modificare le attività.
La creazione di un ramo lo pubblica su GitHub?
No. Un ramo locale rimane sul tuo computer finché non ne invii i commit a un remoto. Verificare la destinazione prima della pubblicazione.
GitTree può creare un ramo da un commit precedente?
SÌ. Fare clic con il pulsante destro del mouse sul commit scelto e utilizzare Crea ramo qui, quindi verificare il commit iniziale e se è necessario estrarre il nuovo ramo.
Fonti
Le affermazioni su altri prodotti sono state confrontate con le rispettive pagine ufficiali in data 28 ottobre 2026. Cambiano prezzi e caratteristiche; le pagine dei venditori sono la fonte della verità.