Jak przełączyć się z powrotem na „master” za pomocą git?

140

Zrobiłem pierwsze zobowiązanie; następnie utworzył gałąź (powiedzmy branch1).

W tej gałęzi utworzyłem katalog „przykład” i zatwierdziłem. W GitHub widzę moją nową gałąź i nowy katalog „przykład”, który dodałem.

Teraz zastanawiam się, jak mogę „zsynchronizować” z powrotem do mastera; i tak usuń folder „example” (ponieważ nie istnieje w katalogu głównym).

EDYCJA: find . -type d -empty -exec touch {}/.gitignore \; wykonała pracę.

Dyskoteka
źródło
Od 1 października 2020 r. GitHub zmienił nazwę gałęzi głównej na „main”, aby uniknąć negatywnych konotacji. git checkout mainpowinno działać
iamfrank

Odpowiedzi:

252

Musisz zapłacić oddziału:

git checkout master

Zobacz ściągawki Git, aby uzyskać więcej informacji.

Edycja: pamiętaj, że git nie zarządza pustymi katalogami, więc będziesz musiał zarządzać nimi samodzielnie. Jeśli katalog jest pusty, po prostu usuń go bezpośrednio.

Matthew Farwell
źródło
„Już na serwerze głównym”, ale mój katalog „przykład” nadal tam jest. Chcę zsynchronizować się z serwerem głównym (a więc nie mam tego folderu, ponieważ nie istnieje w gałęzi głównej)
Disco
# W gałęzi master nie ma nic do zatwierdzenia (katalog roboczy czysty)
Disco,
@Disco: Miałem już ten problem - jeśli na pewno nie jest śledzony w indeksie, możesz po prostu usunąć katalog lokalnie, a odzyskasz go, gdy będziesz git checkout branch1.
Platinum Azure,
1
Mmmh szkoda; czy nie ma na to opcji? Nie mogę śledzić katalogu w mojej głowie
Disco,
na github i gitlab (przynajmniej) możesz dodać pusty plik .gitkeepdo dowolnego folderu, który jest pusty, ale powinien nadal znajdować się w repozytorium.
philshem
6

Zgodnie z ściągawką Git musisz najpierw utworzyć gałąź

git branch [branchName]

i wtedy

git checkout [branchName]
blacksta500
źródło
2
myślę, że mógłbyś ponownie sprawdzić to pytanie
eli
2

Aby usunąć gałąź, musisz zachować zmiany dokonane w oddziale lub musisz zatwierdzić zmiany wprowadzone w oddziale. Wykonaj poniższe kroki, jeśli wprowadziłeś jakiekolwiek zmiany w bieżącej gałęzi.

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

Uwaga: powyższe kroki usuwają oddział lokalnie.

Sachin Sridhar
źródło
1

Staram się trochę pojąć, co się tam dzieje. Czy jest coś w Twoim folderze „przykład”? Git nie śledzi pustych folderów.

Jeśli rozgałęzisz się i przełączysz na nową gałąź, utworzysz nowy folder i pozostawisz go pustym, a następnie wykonasz polecenie „git commit -a”, nie dostaniesz tego nowego folderu w zatwierdzeniu.

Co oznacza, że ​​nie jest śledzony, co oznacza, że ​​sprawdzenie innej gałęzi nie spowoduje jej usunięcia.

Dan Ray
źródło
git zainicjował mój katalog (/ home / dev), a następnie wykonałem polecenie „commit -a” i wysłałem do github. Następnie utworzyłem nowy oddział; utwórz katalog „przykład” z kilkoma plikami w środku i zatwierdził gałąź. Teraz chcę wrócić do początkowego etapu (master) bez katalogu „example”, który utworzyłem w nowej gałęzi.
Disco,
również w gałęzi master nie ma katalogu 'example' (jak widzę na githubie)
Disco
aktualizacja: miałem jeden pusty folder w katalogu przykładowym; czy to dlatego nadal pokazuje mi katalog? Jak się go pozbyć za pomocą gita
Disco
Ty nie. git o tym nie wie. Po prostu go usuń. Wyrejestrowanie wzorca powinno usunąć wszystkie pliki, które są w gałęzi, ale nie w katalogu głównym, z katalogu roboczego.
Dan Ray,
1

Zabierze cię do głównej gałęzi.

git checkout master

Aby przełączyć się na inne gałęzie, wykonaj (zignoruj ​​nawiasy kwadratowe, to tylko dla celów podkreślenia)

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

Aby utworzyć nową gałąź, użyj -b w ten sposób (zignoruj ​​nawiasy kwadratowe, to tylko dla celów podkreślenia)

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

Dapo Momodu
źródło