Chciałbym utworzyć repozytorium Github i zmienić nazwę oddziału main do master.

Jeśli utworzę nowe repozytorium na Github i zrób

git init
git add README.md
git commit -m "first commit"
git branch -M master

Dostaję

error: refname refs/heads/master not found
fatal: Branch rename failed

Wydaje mi się, że w jakiś sposób nie rozumiem git wystarczająco dobrze. Jaki jest tutaj problem?


Musiałem zdać się zdezorientować, gdy grałem z powyższym. Poniżej dzieje się:

git init Utwórz repozytorium

git add README.md Dodaje plik

git commit -m "first commit" Dodaje plik do oddziału master, ponieważ nadal domyślnie dla Git

Więc nigdy nie muszę go zmieniać na pierwszym miejscu. Teraz GitHub używa domyślnego głównego, który można zmienić w Ustawieniach -> Repozytoria na Github.com

1
handy 24 październik 2020, 18:09

1 odpowiedź

Najlepsza odpowiedź

Jeśli README.md nie istnieje, git checkout -B master zrobi to, co chcesz. git branch -M spodziewa się pełnego ref, który rzeczywiście odnosi się do czegoś, a nie stub git init (lub {x4}}) tworzy. Zgadzam się z tym "powinien" poradzić sobie z tym przypadku, czy warto być do nikogo w stanie pisać dobre. Nie powinno być zbyt grube> ciężko.

Mój przypadek testowy, który doprowadził do tej odpowiedzi, po prostu uruchomił swoje polecenia w pustym katalogu; który wytworzył zgłoszony objaw. Uruchamiając je w katalogu, który (już) zawiera README.md działa tak, jak chcesz, tj. Nie wytwarza tego błędu. Czy mógłbyś spodziewać się git init, aby utworzyć domyślny README.md?

2
jthill 24 październik 2020, 20:32