Git

Git Show Remote Branches

Git Show Remote Branches
Gits evne til nemt at oprette grene er en fantastisk funktion. Men når det drejer sig om lokale og fjerntliggende grene, kan det blive lidt kompliceret. Lad os oprette en situation, hvor vi skal oprette vores eget Git-arkiv, der opfører sig som en ekstern repo. Derefter skal vi oprette og forpligte filialer til vores eksterne arkiv fra project_source. Derefter skal vi klone det eksterne lager og lege med grenene. Øvelsen skal også give dig en idé om, hvordan eksterne arkiver som GitHub og BitBucket fungerer. Du kan visualisere det som følger:

Lad os starte med Git-arkivet. Vi opretter en mappe kaldet projekt.git og initialiser det for at blive fjernlageret:

$ mkdir-projekt.git
$ cd-projekt.git /
$ git init - kun
Initialiseret tomt Git-arkiv i / Brugere / zakh_eecs / _work / LearnGIT / git_remote_repository /
projekt.git /

Gå nu til en ny placering, hvor du kan oprette en ren mappe. Opret mappen project_source og initialiser den til Git:

$ mkdir-projektkilde
 
$ cd projektkilde
 
$ git init
Initieret tomt Git-arkiv i / Brugere / zakh_eecs / _work / LearnGIT / git_branching_source /
projektkilde /.git /
 
$ tryk på ReadMe.txt
 
$ git add -A
 
$ git commit -m "Initial Commit"
[master (root-commit) 176134f] Indledende forpligtelse
1 fil ændret, 0 indsættelser (+), 0 sletninger (-)
Opret tilstand 100644 ReadMe.txt

Project_setup er et Git-bibliotek med ReadMe.txt-fil. Det er dog ikke forbundet til vores fjernlager. Lad os starte projektet.git skal være det eksterne lager for project_source. Vi kan opnå dette ved hjælp af følgende kommando:

$ git remote tilføj oprindelse / Brugere / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
 
$ git push oprindelsesmester
Optælling af objekter: 3, færdig.
Skriveobjekter: 100% (3/3), 213 byte | 0 byte / s, færdig.
I alt 3 (delta 0), genbrugt 0 (delta 0)
Til / Brugere / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
* [ny gren] master -> master

Med kommandoen git remote add origin har vi oprettet forbindelsen mellem projektet.git og project_source. Med git push origin master-kommandoen har vi skubbet vores mastergren til det eksterne lager.

Lad os kontrollere vores filialer (stadig i mappen project_source):

$ git gren
* mester
 
$ git gren -r
oprindelse / mester
 
$ git gren -a
* mester
fjernbetjeninger / oprindelse / master

Den første kommando viser kun den lokale filial. Indstillingen -r viser den eksterne gren. Og indstillingen -a viser både lokal og fjernbetjening.

Lad os oprette et par grene i vores arbejdsmappe:

$ git grenudvikling
 
$ git filial hotfix
 
$ git gren eksperimentel
 
$ git gren -a
udvikling
eksperimentel
hotfix
* mester
fjernbetjeninger / oprindelse / master

Vi har oprettet filialer kaldet udvikling, hotfix og eksperimentel. De vises på vores lokale filialiste. Men i fjernbetjeningerne / oprindelsen er der kun mastergren, fordi det er den eneste, vi skubbede. Stjernemesteren (*) betyder, at vi stadig er i den lokale mastergren. Lad os gå ind i udviklingsgrenen, begå ændringer og skubbe disse ændringer til fjernlageret.

$ git checkout udvikling
Skiftet til gren 'udvikling'
 
$ echo abc> ReadMe.txt
 
$ git add -A
 
$ git commit -m "Modificeret udviklingsgren"
[udvikling dd9933e] Modificeret udviklingsgren
1 fil ændret, 1 indsættelse (+)
 
$ git push oprindelsesudvikling
Optælling af objekter: 3, færdig.
Skriveobjekter: 100% (3/3), 257 bytes | 0 byte / s, færdig.
I alt 3 (delta 0), genbrugt 0 (delta 0)
Til / Brugere / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
* [ny gren] udvikling -> udvikling

Lad os kontrollere alle grene nu:

$ git gren -a
* udvikling
eksperimentel
hotfix
mestre
fjernbetjeninger / oprindelse / udvikling
fjernbetjeninger / oprindelse / master

Vi ser, at vi er i den lokale udviklingsgren, men der er også en fjernudviklingsgren. Da vi skubbede vores ændringer med git push oprindelsesudvikling, skabte det udviklingsgrenen i fjernbetjeninger / oprindelse.

Lad os nu komme ud af projektkilden og finde et nyt sted, hvor vi kan have en ny mappe. Her skal vi klone det eksterne lager med følgende kommando:

$ git klon / Brugere / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
Kloning i 'projekt' ..
Færdig.

Vi har klonet en ny kopi kaldet projekt fra projekt.git. Gå ind i projektmappen og tjek grenene:

$ cd-projekt
 
$ git gren
* mester

Når Git opretter en indledende klon fra et eksternt lager, får det kun mastergrenen. Hvis vi bruger indstillingen -a, ser vi:

$ git gren -a
* mester
fjernbetjeninger / oprindelse / HEAD -> oprindelse / master
fjernbetjeninger / oprindelse / udvikling
fjernbetjeninger / oprindelse / master

Bemærk, at der ikke er nogen lokal udviklingsgren. Vi skubbede aldrig hotfix og eksperimentelle grene fra project_source til project.git, så vi kan ikke se dem. Fjernlageret har master- og udviklingsgrene (fjernbetjeninger / oprindelse / HEAD -> origin / master er ikke en gren, det fortæller dig bare, hvor HEAD peger på).

Lad os få udviklingsgrenen ind i vores arbejdsmiljø:

$ git-hentning - alt
Henter oprindelse
 
$ git checkout udvikling
Grenudvikling oprettet til at spore fjernudvikling af gren fra oprindelse.
Skiftet til en ny gren 'udvikling'

Hvis du bruger en ældre version af Git, skal du muligvis bruge:

$ git checkout udvikling oprindelse / udvikling

Nu hvis vi bruger grenkommandoen, får vi:

$ git gren -a
* udvikling
mestre
fjernbetjeninger / oprindelse / HEAD -> oprindelse / master
fjernbetjeninger / oprindelse / udvikling
fjernbetjeninger / oprindelse / master

Vi kan foretage ændringer i udviklingsgrenen, begå ændringerne og derefter skubbe den ved hjælp af kommandoen git push origin development.

Afslutningsvis

Når du arbejder med GitHub og BitBucket, kan du bruge HTTPS eller SSH-link til at oprette forbindelse til dit fjernlager. Så du indstiller din oprindelse til disse links. Men principperne for den fjerntliggende gren er de samme som beskrevet her.

Yderligere studier:

Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...
Mus Sådan ændres venstre og højre museknap på Windows 10-pc
Sådan ændres venstre og højre museknap på Windows 10-pc
Det er en ganske normal, at alle computermusenheder er ergonomisk designet til højrehåndede brugere. Men der er musenheder til rådighed, der er specie...