Git Show rami remoti

Git Show rami remoti
La capacità di Git di creare facilmente i rami è un'ottima caratteristica. Tuttavia, quando si tratta di filiali locali e remoti, può diventare un po 'complicato. Impostiamo una situazione in cui creeremo il nostro repository git che si comporterà come un repository remoto. Quindi creeremo e impegneremo le filiali nel nostro repository remoto da Project_Source. Dopodiché, cloneremo il repository remoto e giocheremo con i rami. L'esercizio dovrebbe anche darti un'idea di come i repository remoti come GitHub e Bitbucket lavorano. Puoi visualizzarlo come segue:

Cominciamo con il repository git. Creeremo una cartella chiamata Progetto.git e inizializzalo per diventare il repository remoto:

progetto $ mkdir.idiota
Progetto CD $.idiota/
$ git init - -cura
Repository git vuoto inizializzato in/utenti/zakh_eecs/_work/apprendimento/git_remote_repository/
progetto.idiota/

Ora vai in una nuova posizione in cui è possibile creare una cartella pulita. Crea la cartella Project_Source e inizializzalo per Git:

$ mkdir Project_source
$ CD Project_source
$ git init
Repository git vuoto inizializzato in/utenti/zakh_eecs/_work/apprendimento/git_branching_source/
Project_source/.idiota/
$ touch readme.TXT
$ git aggiungi -a
$ git commit -m "commit iniziale"
[Master (Root-Commit) 176134f] Committe iniziale
1 file modificato, 0 inserzioni (+), 0 delezioni (-)
Crea modalità 100644 Readme.TXT

Project_setup è una directory git con readme.file txt. Tuttavia, non è collegato al nostro repository remoto. Imposta il progetto.Git sarà il repository remoto per Project_Source. Possiamo raggiungere questo obiettivo attraverso il seguente comando:

$ git remote aggiungi origine/utenti/zakh_eecs/_work/apprendimento/git_remote_repository/progetto.idiota
$ git Push Origin Master
Contare gli oggetti: 3, fatto.
Oggetti di scrittura: 100% (3/3), 213 byte | 0 byte/s, fatto.
Totale 3 (Delta 0), riutilizzato 0 (Delta 0)
A/utenti/zakh_eecs/_work/apprendimento/git_remote_repository/progetto.idiota
* [New Branch] Master -> Master

Con il comando Git Remote Add Origin, abbiamo creato la connessione tra il progetto.Git e Project_Source. Con il comando Master Origin Git Push, abbiamo spinto il nostro ramo principale nel repository remoto.

Controlliamo i nostri filiali (ancora nella cartella Project_Source):

$ git filiale
* maestro
$ git branch -r
Origine/Master
$ git branch -a
* maestro
Remote/Origine/Master

Il primo comando mostra solo la filiale locale. L'opzione -r mostra il ramo remoto. E l'opzione -A mostra sia locale che remoto.

Creiamo alcuni rami nella nostra directory di lavoro:

Sviluppo di filiali $ git
$ git branch hotfix
$ git branch sperimentale
$ git branch -a
sviluppo
sperimentale
hotfix
* maestro
Remote/Origine/Master

Abbiamo creato filiali chiamati Sviluppo, Hotfix e Sperimental. Si stanno presentando nella nostra lista delle filiali locali. Ma nei telecomandi/origine, c'è solo il ramo principale perché è l'unico che abbiamo spinto. The Star (*) Master significa che siamo ancora nella filiale locale. Andiamo nel ramo di sviluppo, commettiamo cambiamenti e spingiamo tali modifiche al repository remoto.

$ git checkout Development
Passato allo sviluppo del ramo
$ echo ABC> Readme.TXT
$ git aggiungi -a
$ git commit -m "ramo di sviluppo modificato"
[Sviluppo dd9933e] ramo di sviluppo modificato
1 file modificato, 1 inserzione (+)
$ git Push Origin Development
Contare gli oggetti: 3, fatto.
Oggetti di scrittura: 100% (3/3), 257 byte | 0 byte/s, fatto.
Totale 3 (Delta 0), riutilizzato 0 (Delta 0)
A/utenti/zakh_eecs/_work/apprendimento/git_remote_repository/progetto.idiota
* [New Branch] Sviluppo -> Sviluppo

Controlliamo tutti i rami ora:

$ git branch -a
* sviluppo
sperimentale
hotfix
maestro
Remote/Origine/Sviluppo
Remote/Origine/Master

Vediamo che siamo nel ramo di sviluppo locale, ma esiste anche un ramo di sviluppo remoto. Quando abbiamo spinto i nostri cambiamenti con Git Push Origin Development, ha creato il ramo di sviluppo in telecomandi/origine.

Note ora uscite dal progetto_source e troviamo un posto nuovo dove possiamo avere una nuova cartella. Qui cloneremo il repository remoto con il seguente comando:

$ git clone/utenti/zakh_eecs/_work/apprendimento/git_remote_repository/progetto.idiota
Cloning in "Project" ..
Fatto.

Abbiamo clonato una nuova copia chiamata Project from Project.idiota. Entra nella cartella del progetto e controlla i rami:

Progetto CD $
$ git filiale
* maestro

Quando Git crea un clone iniziale da un repository remoto, ottiene solo il ramo principale. Se utilizziamo l'opzione -A, vediamo:

$ git branch -a
* maestro
Remote/Origine/Head -> Origine/Master
Remote/Origine/Sviluppo
Remote/Origine/Master

Si noti che non esiste un ramo di sviluppo locale. Inoltre, non abbiamo mai spinto Hotfix e rami sperimentali da Project_Source a Project.git, quindi non li vediamo. Il repository remoto ha filiali master e di sviluppo (telecomandi/origine/testa -> origine/maestro non è un ramo, ti sta solo dicendo dove punta la testa).

Ottiamo il ramo di sviluppo nel nostro ambiente di lavoro:

$ git fetch --ally
Fetching Origin
$ git checkout Development
Sviluppo delle filiali impostato per tenere traccia dello sviluppo remoto delle filiali dall'origine.
Passato a un nuovo ramo "Sviluppo"

Se stai usando una versione precedente di GIT, potresti dover usare:

$ git Checkout Development Origin/Development

Ora, se usiamo il comando Branch, otteniamo:

$ git branch -a
* sviluppo
maestro
Remote/Origine/Head -> Origine/Master
Remote/Origine/Sviluppo
Remote/Origine/Master

Possiamo apportare modifiche al ramo di sviluppo, commettere le modifiche e quindi spingerlo utilizzando il comando di sviluppo di origini push git.

Insomma

Quando lavori con GitHub e Bitbucket, è possibile utilizzare HTTPS o SSH Link per connettersi al repository remoto. Quindi impostarai la tua origine su quei collegamenti. Ma i principi del ramo remoto sono gli stessi descritti qui.

Ulteriori studi:

  • https: // git-scm.com/docs/Git-ranch
  • https: // git-scm.com/book/en/v2/git-on-the-server-setting-up-server
  • https: // aiuto.github.com/articoli/aggiungendo-un-esistente-progetto-a-github-use-the-comand-line/
  • https: // aiuto.github.com/articoli/pushing-to-a-remote/