Para resumir, clone é para buscar repositórios que você não possui, o checkout é para alternar entre ramificações em um repositório que você já possui.
Nota: para aqueles que têm um histórico de SVN / CVS e são novos no Git, o equivalente git cloneem SVN / CVS é checkout. A mesma formulação de termos diferentes é frequentemente confusa.
checkouttambém pode ser usado para outras coisas, como sobrescrever um arquivo na sua cópia de trabalho por uma versão desse arquivo de outra revisão.
svick
8
e quando você usa "pull" vs "checkout"?
Kokodoko 25/05
27
pull é uma busca e mesclagem, o checkout é uma operação local que opera apenas com dados que já foram buscados. Portanto, não é como o svn checkout.
August Lilleaas
13
Vindo do mundo SVN, eu também estava confuso. Uau .. que bagunça. Em um mundo ideal, eu aplicaria todos os fabricantes de sistemas de controle de origem a usar os mesmos termos.
Zoltán Tamási
5
Fork é um termo do github e não está relacionado ao próprio git.
August Lilleaas
123
O clone git é buscar seus repositórios no servidor git remoto.
O git checkout consiste em verificar o status desejado do seu repositório (como ramificações ou arquivos específicos).
Por exemplo, você está atualmente no ramo principal e deseja mudar para o ramo de desenvolvimento.
git checkout develop_branch
Por exemplo, você deseja fazer o checkout para um status específico de um arquivo específico
git checkout commit_point_A -- <filename>
Aqui está uma boa referência para você aprender Git, permite entender muito mais facilmente.
"do servidor git remoto" - não é necessário que o servidor seja remoto. git clonetambém trabalha com repositórios locais.
SET
11
Obrigado pelo link para uma referência visual ao git!
David Pointer
@ Ho Ho: O link é bom como referência, mas não ajuda muito alguém com perguntas básicas sobre o git como a pessoa acima. Como o próprio artigo diz: "Uma vez que você sabe um pouco sobre como funciona o git, este site pode solidificar sua compreensão"
SN
Definições circulares não são tão úteis. A palavra "buscar" usada para descrever o clone é útil e acrescenta significado, mas a frase "checkout é checkout ..." não adiciona significado, nem ajuda a distinguir a diferença entre as duas operações.
C Perkins
11
Uma coisa a notar é a falta de qualquer "cópia" no git. Isso ocorre porque você já tem uma cópia completa no seu repositório local - o seu repositório local é um clonedo seu repositório upstream escolhido. Portanto, você tem efetivamente um pessoal checkoutde tudo , sem colocar algum 'bloqueio' nesses arquivos no repositório de referência.
O Git fornece os valores de hash SHA1 como o mecanismo para verificar se a cópia que você possui de uma árvore de arquivos / diretórios / commit / repo é exatamente a mesma usada por quem é capaz de declarar as coisas como "Mestre" dentro da hierarquia de confiança. Isso evita todos os 'bloqueios' que causam o sufocamento da maioria dos sistemas SCM (com os problemas comuns de cópias particulares, grandes fusões e nenhum controle ou gerenciamento real do código-fonte ;-)!
A pergunta não menciona bloqueios e deve-se presumir por padrão nos dias de hoje que uma pessoa não está familiarizada com esse conceito; portanto, essas diferenças em relação aos VCS antigos devem ser explicadas apenas se solicitadas explicitamente.
wRAR
6
Simplesmente git checkout tem 2 usos
Alternando entre filiais locais existentes, como git checkout <existing_local_branch_name>
Crie uma nova ramificação a partir da ramificação atual usando o sinalizador -b. Suponha que, se você estiver na ramificação principal, git checkout -b <new_feature_branch_name>crie uma nova ramificação com o conteúdo da ramificação principal e mude para a ramificação recém-criada
Respostas:
A página de manual do checkout: http://git-scm.com/docs/git-checkout
A página de manual do clone: http://git-scm.com/docs/git-clone
Para resumir, clone é para buscar repositórios que você não possui, o checkout é para alternar entre ramificações em um repositório que você já possui.
Nota: para aqueles que têm um histórico de SVN / CVS e são novos no Git, o equivalente
git clone
em SVN / CVS écheckout
. A mesma formulação de termos diferentes é frequentemente confusa.fonte
checkout
também pode ser usado para outras coisas, como sobrescrever um arquivo na sua cópia de trabalho por uma versão desse arquivo de outra revisão.O clone git é buscar seus repositórios no servidor git remoto.
O git checkout consiste em verificar o status desejado do seu repositório (como ramificações ou arquivos específicos).
Por exemplo, você está atualmente no ramo principal e deseja mudar para o ramo de desenvolvimento.
Por exemplo, você deseja fazer o checkout para um status específico de um arquivo específico
Aqui está uma boa referência para você aprender Git, permite entender muito mais facilmente.
fonte
git clone
também trabalha com repositórios locais.Uma coisa a notar é a falta de qualquer "cópia" no git. Isso ocorre porque você já tem uma cópia completa no seu repositório local - o seu repositório local é um
clone
do seu repositório upstream escolhido. Portanto, você tem efetivamente um pessoalcheckout
de tudo , sem colocar algum 'bloqueio' nesses arquivos no repositório de referência.O Git fornece os valores de hash SHA1 como o mecanismo para verificar se a cópia que você possui de uma árvore de arquivos / diretórios / commit / repo é exatamente a mesma usada por quem é capaz de declarar as coisas como "Mestre" dentro da hierarquia de confiança. Isso evita todos os 'bloqueios' que causam o sufocamento da maioria dos sistemas SCM (com os problemas comuns de cópias particulares, grandes fusões e nenhum controle ou gerenciamento real do código-fonte ;-)!
fonte
Simplesmente git checkout tem 2 usos
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
crie uma nova ramificação com o conteúdo da ramificação principal e mude para a ramificação recém-criadaVocê pode encontrar mais opções no site oficial
fonte
-b
opção é incrível, o que cria uma nova ramificação local e a verifica ao mesmo tempo em um único comando. Amei!checkout
pode ser usado para muitos casos:1º caso : alternar entre ramificação no repositório local Por exemplo:
git checkout exists_branch_to_switch
Você também pode criar uma nova ramificação e alternar neste caso com
-b
git checkout -b new_branch_to_switch
2º caso : restaurar arquivo de x rev
git checkout rev file_to_restore
...fonte