O que devemos fazer quando mudamos uma máquina?

1

Eu sempre desenvolvi um grande projeto em uma máquina. Eu uso o github para fazer o controle de versão. Agora acabei de comprar uma nova máquina. Eu quero desenvolver o projeto na nova máquina. Eu estou querendo saber qual é a melhor prática.

O que eu tentei é, na nova máquina:

git clone https://github.com/softtimur/project.git

No projeto de pasta, eu fiz

git checkout master

que retorna

Already on 'master'
Your branch is up-to-date with 'origin/master'.

Então, eu queria ir para uma versão anterior dos arquivos:

git checkout 19b3644 

E recebi uma mensagem:

Note: checking out '19b3664'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 19b3664... m=back to no lazyload and no toModifyBeforeSubmit

Minha pergunta é não sobre como corrigir detached Head state. Eu quero saber se devo criar uma nova filial nesta nova máquina. Eu não preciso codificar de 2 máquinas, eu poderia fazer a nova máquina master , e eu não preciso mais tocar na máquina antiga.

Eu sempre tenho problemas em entender o git ... Alguém poderia ajudar?

    
por SoftTimur 26.12.2017 / 00:10

1 resposta

3

Se você está mudando definitivamente de uma máquina para outra, apenas faça o seu git clone e retome o trabalho de lá em qualquer marca / ramificação que você queira. Você não precisa necessariamente de um novo ramo, ou pelo menos isso não está relacionado ao fato de que você mudou suas máquinas, os ramos são apenas para organizar o seu trabalho, então tudo depende de como você usa o git.

git é um VCS descentralizado: você tem tantas master ramificações quanto você tem repositórios, as ramificações são por repositório, e então você pode apenas "vinculá-las" de um repositório para outro.

Atenção no entanto: quando você clona um repositório git para começar a trabalhar em outro lugar você não pode recuperar tudo porque algum material local não é armazenado dentro do repositório (e portanto não distribuído) então você precisará fazer cuidado extra para movê-lo você mesmo se precisar. Nessa área você deve pelo menos considerar: arquivos sujos no worktree, o stash, sua configuração, seus ganchos, etc.

Atualizar com base nos seus comentários a seguir: Seu problema não parece ter nada a ver com a mudança de servidores. Se você quiser esquecer (que está esquecendo completamente esses commits e não conseguir recuperá-los no futuro), alguns commits e voltam para 19b3664 , basta fazer git reset --hard 19b3664 . Sua filial master HEAD agora estaria novamente neste commit. Novamente: você está perdendo todos os commits anteriores que foram depois deste, então seja extremamente cuidadoso (ou tenha bons backups). Eu recomendaria o seguinte:

  • git checkout master
  • git branch previous_work
  • git reset --hard 19b3664

O resultado final seria o branch master neste id de commit específico, mas você sempre terá o branch previous_work (use qualquer nome que faça sentido no seu caso) para que você possa voltar a ele se necessário.

    
por 26.12.2017 / 01:29

Tags