Nie mogę usunąć origin/master
z mojego serwera. Nie mam pojęcia dlaczego.
Komunikat o błędzie jest następujący
remote: error: By default, deleting the current branch is denied, because the next
remote: error: 'git clone' won't result in any file checked out, causing confusion.
remote: error:
remote: error: You can set 'receive.denyDeleteCurrent' configuration variable to
remote: error: 'warn' or 'ignore' in the remote repository to allow deleting the
remote: error: current branch, with or without a warning message.
remote: error:
remote: error: To squelch this message, you can set it to 'refuse'.
remote: error: refusing to delete the current branch: refs/heads/master
To [email protected]:/export/home/a/elabshare/git/ID-check.git
! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to '[email protected]:/export/home/a/elabshare/git/ID-check.git'
Nie, nie używam Github .
master
i zrobiliśmy to na gałęzi doczesnej, która teraz powinna się staćmaster
. Jedynym problemem jest to, że nie wiem, dlaczego nie mogę zabić mistrza na serwerze.master
abyorigin/master
skutecznie zastępując starą z nową.Odpowiedzi:
Ciekawostka: nawet zdalne repozytoria znajdują się w oddziale. Zostajesz odrzucony, ponieważ próbujesz usunąć gałąź, którą twoje pochodzenie obecnie „wypisało”.
Jeśli masz bezpośredni dostęp do repozytorium, możesz po prostu otworzyć katalog reporatora powłoki i użyć starego, dobrego,
git branch
aby zobaczyć, jakie jest pochodzenie gałęzi. Aby zmienić go na inny oddział, musisz użyćgit symbolic-ref HEAD refs/heads/another-branch
.Jeśli korzystasz z usługi takiej jak Github lub Gitorious, będziesz musiał użyć interfejsu użytkownika, który umożliwia wprowadzenie zmiany (zobacz tę odpowiedź, jak to zrobić w typowych narzędziach).
źródło
refs
w Git ! Dziękuję Ci bardzo! (Tak, wiedziałem o tym, jak sobie z tym poradzić na Githubie , ale nie na naszym osobistym serwerze).Zamiast faktycznie usunąć master z serwera, możesz go zastąpić w następujący sposób:
To zastąpi master zawartością otherbranch, ale nadal będzie nazywać się master na pilocie. A potem możesz sprawdzić master jako master w swoim lokalnym.
źródło
master
gałęzi, a zaakceptowana odpowiedź wyjaśnia, dlaczego.