É assim que você compartilha seu trabalho em um repositório remoto git



Compartilhe seu trabalho local com a equipe em um repositório remoto, também aprenda a gerenciá-lo enquanto rastreia as alterações e fique sincronizado.

Seu trabalho agrega mais valor quando publicado e compartilhado com o mundo (ou sua equipe) !!!

Começando

Ir , como você sabe, é a ferramenta de controle de versão mais popular usada hoje para loja , pista e versão qualquer tipo de dados .
Alguns dos principais recursos do git são seus Rapidez , distribuído natureza, segurança , sem dor ramificação e fusão junto com colaborativo trabalhar entre vários contribuidores.

Começando nossa discussão a partir daqui, vamos nos concentrar em como o git ajuda você a colaborar e compartilhe seu trabalho com os colegas para que todos possam trabalhar no mesmo código simultaneamente, sem corromper os dados uns dos outros.
É aqui que o conceito de repositórios remotos entrar em cena.
Presumo que você domine a arte de de você diretório de trabalho (sistema de arquivos) para o Área de preparação e finalmente comprometê-lo com o seu repositório local (base de dados).

Isso nos inspira a levar nossos dados para o próximo nível, “Repo remoto”, para publicá-los em um repositório remoto.

Meus dados já não estão armazenados em um banco de dados git?

Sim, ele é! No entanto, conforme indicado no diagrama abaixo, seus dados ainda estão no banco de dados local Depois de você comprometer e não compartilhado com seus colegas ainda.
Arquitetura de 4 camadas
Este artigo preenche a lacuna entre a coleta de nossos dados de seu repositório local e levando-o para a próxima camada chamada de repositório remoto .





O que é um repositório remoto

Um banco de dados de informações coletadas armazenado em um local que pode ser compartilhado com seus companheiros de equipe, dando-lhes Acesso .
É idealmente hospedado em um nuvem ou em um servidor (local ou remoto) na Internet ou na sua rede local.
Um repositório remoto é como o seu repositório git local, exceto que geralmente é declarado como um repositório vazio para não ter uma cópia de trabalho como a local.
Isso é feito para restringir as mudanças diretas feitas no repositório remoto.

Repositório nu conceito é uma vantagem adicional para um repositório remoto para mantê-lo protegido e ser usado com o único propósito de compartilhar o código entre os membros da equipe.
Isso é conseguido declarando o repositório remoto como vazio usando o '--somente'Sinalizar no momento de inicializá-lo como um repositório git.
Ao fazer isso, seu repo é criado com metadados git ou, em outras palavras, objetos git armazenados apenas no diretório oculto ‘.git’ e nenhuma cópia de trabalho está disponível para qualquer pessoa adicionar dados diretamente.
Comando:git init --bare.

Com isso em mente, no futuro veremos mais maneiras de gerenciar um repo remoto e como sincronizamos nosso trabalho local com o remoto.



Crie um repositório remoto

Em primeiro lugar, você precisa decidir em um local onde deseja colocar seu repo remoto.
Existem alguns repositórios populares de hospedagem git baseados em nuvem, como - GitLab , BitBucket , GitHub , Perforce e CloudForge para nomear alguns.
Neste post, estou considerando o GitHub, pois foi aqui que comecei a manter meus repositórios git. Para começar, tudo que você precisa fazer é entrar em uma conta GitHub e depois crie um novo repositório , isso cria um URL apontando para este repositório remoto.


Git suporta os protocolos ssh, git, http e https para endereçar uma URL de repositório.

Alternativamente, você também pode colocar seu projeto em outro lugar, digamos um Servidor Linux seguindo os comandos abaixo-
cd $ HOME
mkdir remote_repo
cd remote_repo
git init --bare.

Conecte o controle remoto à sua máquina local

Anexar um controle remoto à sua cópia de trabalho significa simplesmente criar um manipulador de referência de ponteiro para o controle remoto ou simplesmente chamado de “ manipulador remoto '
Vamos pular para o meu projeto que desejo publicar-cd learnRemotes
Sintaxe:git remote add
Comando:git remote add origin https://github.com/divyabhushan/learnRemotes.git

'Origem é o padrão nome de referência para o manipulador remoto. ” (o nome remoto deve ser algum nome relevante)
Vamos ver se funcionou, usando o comando:git remote

Sim :)

Imprima o URL remoto também junto com o nome:
git remote -v

Bem feito! Você está pronto para estabelecer uma conexão com seu repositório remoto de seu diretório de trabalho local.

Hora de publicar

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

Então, você lê isso como “Empurre a diferença de commits para a origem do mestre local” .

Se você verificar sua conta GitHub, seus commits locais (dados) devem ser exibidos lá-



Rastreamento de ramos

Então, você publicou com sucesso seu trabalho no repositório remoto.
No entanto, é importante que você configure sua filial local para pista as alterações na ramificação remota automaticamente.
Use o '--set-upstreamou-você‘Sinalizar junto com o comando‘ git push ’
Comando:git push -u origin master

ramos codificados por cores


Vamos ainda criar um novo commit no branch ‘master’ e verificar como o git o detecta-
Comando:git status


Mostra as ramificações de rastreamento no modo detalhado
Comando:git branch -vv


Portanto, toda vez que houver uma diferença nos commits entre seu repositório local e remoto no branch rastreado, o Git irá informá-lo.
Isso não é legal !!!

Como as outras pessoas se conectariam ao seu controle remoto?

É moleza quando você clone um repositório remoto !!!

Então, a clonagem de um repositório remoto faz 2 coisas primeiro, seu referência remota é adicionado automaticamente, e o segundo padrão ramo está configurado para pista filial remota automaticamente.

Passo 1: Clone seu repo remoto como um usuário diferente-
Comando:git clone https://github.com/divyabhushan/learnRemotes.git developer2
desenvolvedor de cd 2

Passo 2: Mostre o controle remoto e seu url
Comando:git remote -v


Etapa 3: Liste os ramos de rastreamento
Comando:git branch -vv


A diversão começa quando 'desenvolvedor2' começa seu próprio trabalho e empurra para o controle remoto.

Você pode se conectar e contribuir com mais de um controle remoto repositório de um único projeto .

Veja as filiais remotas

Comando:git branch -r


Use a opção ‘-a’ para imprimir branches locais e remotos, tente em seu repositório local após criar alguns branches locais.

cast double to int em java

Como outras pessoas contribuem para o seu controle remoto?

Configuração inicial
O Desenvolvedor2 decide mudar algumas coisas, como:
para. Crio um novo ‘recurso’ do último commit no branch ‘master’ e faça um novo commit no ramo ‘feature’
Comandos:
git checkout -b feature
echo 'aprimoramentos de recursos'> feature.txt
git add. && git commit -m 'melhorias de recursos'

b. Crio um branch ‘feature2’ diferente de um commit mais antigo no branch ‘master’
Comandos:
git checkout -b feature2 95651fb
echo 'feature2 added'> feature2.txt
git add. && git commit -m 'Adicionando mudanças feature2'

Vamos visualizar os branches na máquina developer2 junto com as informações de rastreamento:

Como você deve ter notado, os novos branches não estão configurados para rastrear os branches remotos.

Empurrando mudanças para remoto
Em primeiro lugar, deixe-me empurrar o branch ‘feature’ para remoto com o sinalizador ‘–set-upstream ou -u’
Comando:recurso de origem git push -u




Um novo branch será criado no remoto, caso ainda não exista !!!

Neste momento, liste os branches remotos com o comando: ‘git branch -r’




Outra maneira de rastrear filial remota
Além disso, vamos definir o branch ‘feature2’ também para apontar para o mesmo branch ‘feature’ no remoto
Comando:git branch --set-upstream-to = origin / feature feature2



ramo codificado por cores


Uma dica rápida: você pode omitir o nome do branch local se já estiver naquele branch, ou seja, o branch local já está com check-out.

Liste os branches no modo detalhado mais uma vez, comando:git branch -vv



Observe, ambas as ramificações locais ‘recurso’ e ‘característica2’ apontando para a mesma ramificação remota ‘recurso’.

Manter-se sincronizado com o controle remoto - buscar, puxar e empurrar

Vamos considerar a parte onde o filial remota que você está rastreando já foi atualizado, e aí?
Um simples 'git status‘Ou um‘git checkout‘Ou mesmo o‘git branch -vv'Comando nos avisa com tal incompatibilidade-



‘Desenvolvedor2’ deve primeiro atualizar as referências e objetos locais (‘ git fetch ‘) E, em seguida, mesclar as alterações remotas e locais (‘ git merge ’).
Curiosamente, você pode substituir esses dois comandos por um único comando ‘git pull’.
Sintaxe:ir Puxe

–Para ramal não rastreado
Sintaxe: git pull [:]
Comando:git pull origin feature: feature2

–Para ramal rastreado
Sintaxe: git pull
Comando:git pull




=> Na prática, pode haver conflitos surgindo neste estágio quando você puxa do remoto para simplificar, eu gerei uma alteração de commit sem conflito.

Depois de ‘desenvolvedor2’ puxar (buscar e mesclar), as últimas alterações remotas devem agora publicar seu próprio trabalho-
Comando:git push origin HEAD: feature
Nota: o branch upstream ‘feature’ não corresponde ao nome do branch local ‘feature2’, você deve fornecê-lo explicitamente



Lembrete : ‘HEAD’ é o commit mais recente no branch local ‘feature2’.

Quando usar 'git fetch'?
Às vezes, quando você precisa apenas atualizar seu cabeças de referência sem realmente baixar (puxar) do controle remoto.
Ou quando os branches remotos foram modificados / deletados na atualização, você terá que executar o comando fetch com o '--ameixa seca'Opção.
Como prática recomendada, você deve executar o comando ‘git fetch’ toda vez que começar a trabalhar em seu repositório local.

fibonacci iterativo c ++

Gerenciamento remoto

Finalmente, você gostaria de realizar algumas tarefas de manutenção, como renomear ou remover controles remotos e ramificações.
Eles são tão importantes quanto os comandos anteriores.

Renomear remoto

Sintaxe:git remote rename
Comando:git remote renomear snv_repo svn
Por exemplo, considere um gerente de projeto associado a 3 projetos-


Excluir referência remota

Suponha que você não mais sincronize com um repositório remoto, provavelmente apagará a referência do ponteiro a ele.
No entanto, isso não vai afetar o repositório remoto e o trabalho de outros.

Sintaxe:git remote remove
Comando:git remote remove proj1


Tutoriais do microsoft sql server para iniciantes

E se você tivesse um branch local configurado para rastrear um branch do repositório ‘proj1’ removido?
Bem seu Filial local (e, portanto, o trabalho) é seguro e ainda presente, apenas seu referência de rastreamento remoto e configuração as configurações serão removido automaticamente

Excluir filial remota

Diz Você acidentalmente empurrou seu pessoal trabalho duro em um ramificar para o remoto mas não quero que outros verifiquem ainda -
Remova o branch ‘unfinishedWork’ do remoto ‘svn ’-
Comando:git branch -vv#Liste os ramos de rastreamento remoto



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


Liquidação

Com isso, chegamos ao final deste artigo. Se você encontrou este “ Tutorial ' relevante, Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka DevOps Certification Training ajuda os alunos a ganhar experiência em vários processos e ferramentas DevOps, como Puppet, Jenkins, Nagios e GIT para automatizar várias etapas em SDLC.