Como voltar ao 'master' com git?

135

Eu fiz meu primeiro commit; então criou uma ramificação (digamos branch1).

Neste ramo, criei um diretório 'exemplo' e confirmei. No GitHub, vejo meu novo ramo e o novo diretório 'exemplo' que adicionei.

Agora eu me pergunto como posso 'sincronizar' de volta ao mestre; e a pasta 'exemplo' foi excluída (como ela não existe no mestre).

EDIT: find . -type d -empty -exec touch {}/.gitignore \; fez o trabalho.

Discoteca
fonte

Respostas:

239

Você precisa fazer o checkout da filial:

git checkout master

Veja as folhas de dicas do Git para mais informações.

Edit: Por favor note que o git não gerencia diretórios vazios, então você terá que gerenciá-los você mesmo. Se o seu diretório estiver vazio, basta removê-lo diretamente.

Matthew Farwell
fonte
"Já está no mestre", mas meu diretório 'exemplo' ainda está lá. Eu quero entrar em sincronia com o master (portanto, não tendo esta pasta, uma vez que não existe no branch master)
Disco
# No mestre ramo nada a cometer (diretório de trabalho limpo)
Disco
@Disco: Eu já tive esse problema antes-- se ele definitivamente não for rastreado no índice, você pode simplesmente remover o diretório localmente e recuperá-lo quando quiser git checkout branch1.
Platinum Azure
1
Mmmh muito ruim; não existe uma opção para isso? Eu não posso manter o controle de muito diretório na minha cabeça
Disco
6

De acordo com o Git Cheatsheet, você deve criar a ramificação primeiro

git branch [branchName]

e depois

git checkout [branchName]
blacksta500
fonte
2
eu acho que você poderia verificar a pergunta novamente
eli
2

Para excluir a ramificação, você deve ocultar as alterações feitas na ramificação ou precisa confirmar as alterações feitas na ramificação. Siga as etapas abaixo se tiver feito alterações na ramificação atual.

  1. git stash ou git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

Nota: As etapas acima excluirão a ramificação localmente.

Sachin Sridhar
fonte
1

Estou tentando entender o que está acontecendo por lá. Existe alguma coisa na sua pasta "exemplo"? O Git não rastreia pastas vazias.

Se você ramificou e mudou para o seu novo ramo, criou uma nova pasta e a deixou vazia, e fez "git commit -a", você não obteria essa nova pasta no commit.

O que significa que não é rastreado, o que significa que verificar um ramo diferente não o removeria.

Dan Ray
fonte
O git iniciou o meu diretório (/ home / dev) e então "commit -a" foi pressionado para o github. Então eu criei um novo ramo; crie um diretório 'exemplo' com alguns arquivos dentro e confirme a ramificação. Agora eu quero voltar ao estágio inicial (mestre) sem o diretório 'exemplo' que eu criei no novo ramo.
Disco
também no branch master do diretório 'exemplo' não está lá (como eu vejo no github)
Disco
atualização: eu tinha uma pasta vazia dentro do diretório de exemplo; é por isso que ainda me mostra o diretório? Como se livrar dele usando git
Disco
Você não o git não sabe disso. Apenas apague. A verificação do mestre deve remover todos os arquivos que estão na ramificação, mas não no mestre, do diretório de trabalho.
Dan Ray
1

Levará você ao ramo principal.

git checkout master

Para mudar para outros ramos, ignore os colchetes, é apenas para fins de ênfase

git checkout [the name of the branch you want to switch to]

Para criar uma nova ramificação, use -b assim (ignore os colchetes, é apenas para fins de ênfase)

git checkout -b [the name of the branch you want to create]

Dapo Momodu
fonte