È così che condividi il tuo lavoro su un repository remoto git



Condividi il tuo lavoro locale con il team su un repository remoto, impara anche a gestirlo tenendo traccia delle modifiche e rimani sincronizzato.

Il tuo lavoro aggiunge più valore quando pubblicato e condiviso con il mondo (o il tuo team) !!!

Iniziare

Partire , come sapete, è lo strumento di controllo delle versioni più popolare utilizzato oggi per negozio , traccia e versione nessun tipo di dati .
Alcune delle caratteristiche chiave di git sono le sue velocità , distribuito natura, sicurezza , indolore ramificazione e fusione insieme a collaborativo lavorare tra più collaboratori.

Iniziando la nostra discussione da qui, concentriamoci su come git ti aiuta collaborare e condividi il tuo lavoro con i colleghi in modo che tutti possano lavorare sullo stesso codice contemporaneamente senza alterare i dati degli altri.
Qui è dove il concetto di repository remoti entrare in scena.
Presumo che tu abbia imparato l'arte di dal tuo directory di lavoro (filesystem) in Area di sosta e infine affidarlo al tuo repository locale (Banca dati).

Questo ci ispira a spingere i nostri dati al livello successivo 'Repo remoto' per pubblicarli su un repository remoto.

I miei dati non sono già archiviati in un database git?

Sì! Tuttavia, come indicato nel diagramma sottostante, i tuoi dati sono ancora presenti nel file database locale Dopo di te commettere e non ancora condiviso con i tuoi colleghi.
Architettura a 4 livelli
Questo articolo colma il divario tra la raccolta dei nostri dati dal tuo repository locale e portandolo al livello successivo chiamato repository remoto .





Cos'è un repository remoto

Un database di informazioni raccolte archiviate in una posizione che può essere condivisa con i tuoi compagni di squadra dando loro accesso .
Idealmente è ospitato su un file nube o su un file server (locale o remoto) su Internet o sulla rete locale.
Un repository remoto è proprio come il tuo repository git locale, tranne per il fatto che è generalmente dichiarato come un repository nudo in modo da non avere una copia funzionante come quella locale.
Questo viene fatto per limitare le modifiche dirette apportate al repository remoto.

Deposito nudo concetto è un ulteriore vantaggio per un repository remoto per mantenerlo protetto ed essere utilizzato al solo scopo di condividere il codice tra i membri del team.
Ciò si ottiene dichiarando il repository remoto come nudo utilizzando il '--appena'Flag al momento dell'inizializzazione come repository git.
In questo modo, il tuo repository viene creato con metadati git o in altre parole oggetti git memorizzati nella sola directory nascosta '.git' e nessuna copia di lavoro è disponibile per chiunque possa aggiungere direttamente i dati.
Comando:git init --bare.

Con questo in mente, andando avanti vedremo più modi per gestire un repository remoto e come sincronizzare il nostro lavoro locale con il remoto.



come scrivere alert in javascript

Crea un repository remoto

Prima di tutto, devi decidere in quale posizione desideri posizionare il tuo repository remoto.
Ci sono alcuni famosi repository di hosting Git basati su cloud come: GitLab , BitBucket , GitHub , Perforce e CloudForge per dirne alcuni.
In questo post, sto prendendo in considerazione GitHub in quanto questo è il posto in cui ho iniziato a mantenere i miei repository git. Per iniziare, tutto ciò che devi fare è accedere a un account GitHub e poi creare un nuovo repository , questo crea un URL che punta a questo repository remoto.


Git supporta i protocolli ssh, git, http e https per indirizzare l'URL di un repository.

In alternativa, puoi anche posizionare il tuo progetto altrove, ad esempio a Server Linux seguendo i comandi seguenti:
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Collega il telecomando alla tua macchina locale

Allegare un telecomando alla tua copia di lavoro significa semplicemente creare un file gestore di riferimento del puntatore per il telecomando o semplicemente chiamato ' gestore remoto '.
Passiamo al mio progetto che voglio pubblicare-cd learnRemotes
Sintassi:git remote add
Comando:git remote add origin https://github.com/divyabhushan/learnRemotes.git

'Origine è il predefinito nome di riferimento per il gestore remoto. ' (il nome remoto deve essere un nome pertinente)
Vediamo se ha funzionato, utilizzando il comando:git remote

Lo ha fatto :)

Stampa anche l'URL remoto insieme al nome:
git remote -v

Ben fatto! Sei pronto a stabilire una connessione al tuo repository remoto dalla tua directory di lavoro locale.

È ora di pubblicare

Sintassi:git push --all --tags[-u | --set-upstream]
Comando:git push origin master

Quindi leggi questo come 'Spingere il diff dei commit all'origine dal master locale' .

Se controlli il tuo account GitHub, i tuoi commit locali (dati) devono essere visualizzati lì-



Filiali di monitoraggio

Quindi, hai pubblicato con successo il tuo lavoro sul repository remoto.
Tuttavia, è importante impostare la filiale locale su traccia automaticamente le modifiche sul ramo remoto.
Usa il '--set-upstreamo-u'Flag insieme al comando' git push '
Comando:git push -u origin master

rami con codice colore


Creiamo ulteriormente un nuovo commit sul ramo 'master' e verifichiamo come git lo rileva-
Comando:stato git


Mostra i rami di monitoraggio in modalità dettagliata
Comando:git branch -vv


Quindi ogni volta che c'è una differenza nei commit tra il tuo repository locale e remoto sul ramo tracciato, Git te lo farà sapere.
Non è fantastico !!!

Come si collegherebbero gli altri al tuo telecomando?

È un gioco da ragazzi quando tu clone un repository remoto !!!

Quindi, la clonazione da un repository remoto fa prima 2 cose, il tuo riferimento remoto viene aggiunto automaticamente e il secondo predefinito ramo è impostato per traccia ramo remoto automaticamente.

Passo 1: Clona il tuo repository remoto come un utente diverso-
Comando:git clone https://github.com/divyabhushan/learnRemotes.git sviluppatore2
sviluppatore cd2

Passo 2: Mostra il telecomando e il suo URL
Comando:git remote -v


Step3: Elenca i rami di monitoraggio
Comando:git branch -vv


Il divertimento inizia quando 'developer2' inizierà il proprio lavoro e invierà il comando al telecomando.

Puoi connetterti e contribuire a più di un telecomando repository da un progetto unico .

Visualizza i rami remoti

Comando:git branch -r


Usa l'opzione '-a' per stampare rami sia locali che remoti, provalo nel tuo repository locale dopo aver creato alcuni rami locali.

In che modo gli altri contribuiscono al tuo telecomando?

Configurazione iniziale
Developer2 decide di cambiare un paio di cose come:
per. Creare una nuova 'funzionalità' dall'ultima commit sul ramo 'master' e crea un file nuovo commit nel ramo 'funzionalità'
Comandi:
funzione git checkout -b
echo 'miglioramenti delle funzionalità'> feature.txt
git add. && git commit -m 'miglioramenti delle funzionalità'

b. Creare un ramo 'feature2' diverso da un commit più vecchio sul ramo 'master'
Comandi:
git checkout -b feature2 95651fb
echo 'feature2 added'> feature2.txt
git add. && git commit -m 'Aggiunta di modifiche alla funzione2'

Visualizziamo i rami sulla macchina sviluppatore2 insieme alle informazioni di tracciamento:

Come avrai notato, i nuovi rami non sono configurati per tracciare i rami remoti.

Invio delle modifiche al telecomando
Innanzitutto lasciatemi inviare il ramo 'feature' a remoto con il flag '–set-upstream o -u'
Comando:git push -u funzione di origine




Verrà creato un nuovo ramo sul telecomando, se non esiste già !!!

In questo momento, elenca i rami remoti con il comando: 'git branch -r'




Un altro modo per monitorare il ramo remoto
Inoltre, impostiamo anche il ramo 'feature2' in modo che punti allo stesso ramo 'feature' sul telecomando
Comando:git branch --set-upstream-to = origin / feature feature2



ramo con codice colore


Un suggerimento rapido: puoi omettere il nome del ramo locale se sei già su quel ramo, in altre parole, il ramo locale è già stato estratto.

Elenca ancora una volta i rami in modalità dettagliata, comando:git branch -vv

diploma post laurea vs master



Notare che sia la 'caratteristica' che la 'funzione2' dei rami locali puntano alla stessa 'funzione' del ramo remoto.

Rimani sincronizzato con il telecomando: recupera, tira e spingi

Consideriamo la parte in cui il ramo remoto stai monitorando è già stato aggiornato, cosa poi?
Un semplice 'stato git'O un'git checkout'O anche il'git branch -vv'Il comando ci avverte con una tale mancata corrispondenza-



'Sviluppatore2' deve prima aggiornare i riferimenti e gli oggetti locali (' git fetch ') E quindi unisci le modifiche remote e locali (' git merge ').
È interessante notare che puoi sostituire questi due comandi con un singolo comando 'git pull'.
Sintassi:partire Tirare

–Per ramo non tracciato
Sintassi: git pull [:]
Comando:git pull origin feature: feature2

–Per ramo tracciato
Sintassi: git pull
Comando:git pull




=> In pratica, potrebbero sorgere conflitti in questa fase quando esegui il pull da remoto per semplicità ho generato una modifica del commit senza conflitti.

Dopo il pull (fetch and merge) di 'developer2', le ultime modifiche remote devono ora pubblicare il proprio lavoro-
Comando:git push origin HEAD: caratteristica
Nota: la 'caratteristica' del ramo a monte non corrisponde al nome della 'funzione2' del ramo locale, devi fornirlo esplicitamente



Promemoria : 'HEAD' è l'ultimo commit sul ramo 'feature2' locale.

Quando utilizzare 'git fetch'?
A volte quando hai la necessità di aggiornare semplicemente il tuo file teste di riferimento senza effettivamente scaricare (tirare) dal telecomando.
Oppure quando i rami remoti sono stati modificati / eliminati all'aggiornamento, dovrai eseguire il comando fetch con il '--fesso' opzione.
Come best practice, devi eseguire il comando 'git fetch' ogni volta che inizi a lavorare sul tuo repository locale.

Gestione remota

Infine, vorresti svolgere alcune attività di pulizia come rinominare o rimuovere telecomandi e rami.
Questi sono importanti quanto i comandi precedenti.

Rinomina telecomando

Sintassi:git remote rename
Comando:git remote rinomina snv_repo svn
Ad esempio, considera un project manager associato a 3 progetti-


Elimina riferimento remoto

Supponiamo che non ti sincronizzi più con un repository remoto, è probabile che elimini il riferimento del puntatore ad esso.
Tuttavia, questo non influirà sul repository remoto e sul lavoro di altri.

Sintassi:git remote remove
Comando:git remote remove proj1


E se avessi un ramo locale impostato per monitorare un ramo dal repository 'proj1' rimosso?
Bene, il tuo filiale locale (e quindi il lavoro) è sicuro e ancora presente, solo suo riferimento di monitoraggio remoto e configurazione le impostazioni saranno rimosso automaticamente

Elimina ramo remoto

Dico tu accidentalmente spinto il tuo personale lavoro duro su a ramo al telecomando ma non voglio che altri lo controllino ancora -
Rimuovi il ramo 'unfinishedWork' dal telecomando 'svn '-
Comando:git branch -vv# Elenca i rami di monitoraggio remoto



Sintassi:git push --delete
Comando:git push --delete svn unfinishedWork


come creare un'app in Salesforce

Liquidazione

Con questo, arriviamo alla fine di questo articolo. Se hai trovato questo ' Tutorial 'Rilevante, controlla il da Edureka, una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Il corso di formazione sulla certificazione Edureka DevOps aiuta gli studenti ad acquisire esperienza in vari processi e strumenti DevOps come Puppet, Jenkins, Nagios e GIT per l'automazione di più passaggi in SDLC.