Come tornare a 'master' con git?


135

Ho fatto il mio primo impegno; quindi creato un ramo (diciamo ramo1).

In questo ramo ho creato una directory "esempio" e ho eseguito il commit. In GitHub vedo il mio nuovo ramo e la nuova directory "esempio" che ho aggiunto.

Ora mi chiedo come posso "sincronizzare" con il master; e quindi eliminare la cartella "esempio" (in quanto non esiste sul master).

EDIT: ha find . -type d -empty -exec touch {}/.gitignore \; fatto il lavoro.

Risposte:


239

Devi controllare la filiale:

git checkout master

Vedi i cheat sheet di Git per maggiori informazioni.

Modifica: Nota che git non gestisce le directory vuote, quindi dovrai gestirle tu stesso. Se la tua directory è vuota, rimuovila direttamente.


"Già sul master" ma la mia directory "esempio" è ancora lì. Voglio sincronizzarmi con il master (quindi non avere questa cartella in quanto non esiste nel ramo master)
Disco

# Sul branch branch niente da impegnare (directory di lavoro pulita)
Disco

@Disco: ho già avuto questo problema in precedenza-- se sicuramente non è stato rintracciato nell'indice, puoi semplicemente rimuovere la directory localmente e la riavrai quando lo fai git checkout branch1.
Platinum Azure,

1
Mmmh troppo male; non c'è un'opzione per quello? Non riesco a tenere traccia della directory nella mia testa
Disco

6

Secondo il Git Cheatsheet devi prima creare il ramo

git branch [branchName]

e poi

git checkout [branchName]

2
penso che potresti rivedere la domanda
eli

2

Per eliminare il ramo è necessario riporre le modifiche apportate sul ramo oppure è necessario eseguire il commit delle modifiche apportate sul ramo. Seguire i passaggi seguenti se sono state apportate modifiche nel ramo corrente.

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

Nota: i passaggi precedenti elimineranno il ramo localmente.


1

Sto cercando di capire come sta andando laggiù. C'è qualcosa nella cartella "esempio"? Git non tiene traccia delle cartelle vuote.

Se si ramificasse e si passasse al nuovo ramo, quindi si creasse una nuova cartella e la si lasciava vuota, quindi si eseguiva "git commit -a", non si otterrebbe quella nuova cartella nel commit.

Ciò significa che non è tracciato, il che significa che estrarre un ramo diverso non lo rimuoverà.


git ha avviato la mia directory (/ home / dev) poi ho fatto "commit -a" e ho inviato a github. Quindi ho creato un nuovo ramo; creare un 'esempio' di directory con alcuni file all'interno e il commit del ramo. Ora voglio tornare alla fase iniziale (master) senza la directory "esempio" che ho creato nel nuovo ramo.
Disco

anche nel ramo principale la directory 'esempio' non c'è (come vedo in github)
Disco

aggiornamento: avevo una cartella vuota all'interno della directory di esempio; è per questo che mi mostra ancora la directory? Come sbarazzarsene usando git
Disco

Non git non lo sa. Basta cancellarlo. Il checkout del master dovrebbe rimuovere tutti i file che si trovano nel ramo ma non nel master dalla directory di lavoro.
Dan Ray,

1

Ti porterà al ramo principale.

git checkout master

Per passare ad altri rami fare (ignorare le parentesi quadre, è solo per scopi di enfasi)

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

Per creare un nuovo ramo usa -b in questo modo (ignora le parentesi quadre, è solo a scopo di enfasi)

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.