GIT Processo: Alguém poderia explicar o processo de check in / check out?

3

Eu usei o SVN de tartaruga por alguns anos, mas agora estou usando o Git. Alguém poderia explicar qual é o processo para fazer o seguinte no Git:

Receba as últimas, faça o check-in

Eu consegui clonar o repositório com sucesso, fiz alterações, comprometi e empurrei as alterações. Git diz que está tudo bem, mas não consigo ver as alterações no servidor remoto.

Minha configuração é:

Servidor remoto com Git repo on e máquina Dev que se conecta ao Git para fazer uma cópia local da solução para trabalhar.

Além disso, quando vejo o histórico na minha máquina local, tudo é bom! Ele mostra todo o histórico, quando vou ao servidor, as mudanças não estão aparecendo!

Se eu não estiver fazendo corretamente, me avise!

    
por Funky 13.06.2012 / 16:56

3 respostas

1

Vou mostrar meu fluxo de trabalho usando o github como servidor para meus repositórios:

If I've not nothing on my machine:
$ git clone [email protected]:<username>/<repository-name>.git

Agora você tem sua cópia local. Se você já tiver uma cópia, não será necessário clonar novamente. Apenas puxe:

$ git pull origin master

Este comando faz o download do servidor para a sua máquina todas as atualizações.

Agora você pode trabalhar. Faça commits. Quando estiver pronto. Você pode enviar seu código para o servidor com estes comandos:

$ git add .
$ git commit -m 'some stuffs'
$ git add .
$ git commit -m 'some others stuff'
...
$ git add .
$ git commit -m 'some others stuff'
$ git push origin master

Comando "git push origin master" coloque seu código no servidor. Se outros usuários enviaram alguns commits!?!?!? Bem: antes de empurrar seu código, você precisa executar "pull". Esta é a sequência que eu prefiro:

1:

$ git pull origin master // now I can start to work

2:

$ git add .
$ git commit -m 'some stuffs'
$ git add .
$ git commit -m 'some others stuff'
...
$ git add .
$ git commit -m 'some others stuff'

3:

$ git pull origin master
$ git push origin master

Se houver alguns conflitos após o pull, apenas corrija-os, adicione, confirme e, por fim, envie.

    
por 13.06.2012 / 17:26
1

Para responder à sua pergunta ... Realmente não há um processo de "Check-in Check-out" no Git. Essas referências são para Centralized VCS não distribuído.

Com um VCS centralizado, existe uma base de código absoluta ... A fonte. Com um Distributed VCS não é assim ...

O Git possui uma camada de abstração chamada index, que separa o código dos diretórios de trabalho do repositório. A esse respeito, você tem que adicionar suas alterações ao índice e depois submetê-las ao repositório. Mas, esse commit não reflete uma atualização direta para o diretório de trabalho.

Para que você 'veja alterações' fisicamente no lado remoto após um commit ... Você precisa de um gancho para transmitir ao diretório de trabalho remoto para extrair do repositório atualizado ...

Presunção aqui ... Mas suponho que você queira fazer algo nos moldes de um fluxo de trabalho de gerenciamento de sites. Usando o Git para gerenciar um site

O Git é um DVCS extremamente poderoso e robusto ... No entanto, você precisa entender como funciona para usá-lo efetivamente. Com todo o respeito, sugiro que leia completamente a documentação. No entanto, aqui está um ponto de partida altamente respeitável :-) Git Magic

    
por 13.06.2012 / 18:19
0

@Funky,
Como você pode ver o histórico localmente, presumo que você possa enviar suas alterações adequadamente para a cópia local do seu repositório do git. Não está claro o que você está fazendo no controle remoto ('o servidor'): "... quando vou ao servidor, as mudanças não estão aparecendo!". Dependendo de como o 'servidor' (remoto) está configurado, você pode não ver as coisas da mesma maneira que faria na sua máquina de desenvolvimento.

Se tiver certeza de que suas alterações não estão presentes no controle remoto ('o servidor'), você pode estar perdendo isso (em sua máquina local de desenvolvimento):

git push origin master

Um git status antes e depois do comando acima lhe dará informações úteis sobre quaisquer discrepâncias entre sua cópia local e remota.

Para verificar novamente, vá para outra máquina (ou outra pasta na mesma máquina dev) e faça: %código%. E verifique se suas alterações estão lá.

    
por 30.08.2013 / 23:12

Tags