Git에서 출발지 / 마스터를 삭제하는 방법


10

origin/master서버에서 제거 할 수 없습니다 . 왜 그런지 모르겠다.

내 터미널의 스크린 샷

오류 메시지는 다음과 같습니다

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 acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git
 ! [remote rejected] master (deletion of the current branch prohibited)
error: failed to push some refs to 'acanzian@elab.ecn.purdue.edu:/export/home/a/elabshare/git/ID-check.git'

아니요, Github을 사용 하지 않습니다 .


1
왜 그렇게 하시겠습니까? 다른 지점이 있습니까?
Daniel B

실제로 다른 지점이 있습니다 (이미지의 링크를 확인하십시오. 실제로 표시 할 수 있습니까?). 우리는 리베이스를해야했고 master, 이제는 시간이 지날 지점에서 그것을해야했습니다 master. 유일한 문제는 서버에서 마스터를 죽일 수없는 이유를 모른다는 것입니다.
Atcold

2
아마 당신이 찾고있는 대답은 아니지만, rebased master를에 강제로 밀어 넣어 origin/master이전 것을 새로운 것으로 대체 할 수 있습니다.
SlightlyCuban

오류 메시지 외에도 사용중인 명령을 게시하십시오.
Kyralessa

@Kyralessa, 스크린 샷을 확인하십시오.
Atcold

답변:


7

재미있는 사실 : 심지어 원격 저장소도 지점에 있습니다. 출처가 현재 '체크 아웃'된 지점을 삭제하려고해서 거부되었습니다.

리포지토리에 직접 액세스 할 수있는 경우 쉘 베어 리포지토리 디렉토리를 열고 오래된 git branch것을 사용 하여 현재 어떤 분기 원점이 있는지 확인할 수 있습니다. 다른 지점으로 변경하려면을 사용해야 git symbolic-ref HEAD refs/heads/another-branch합니다.

Github 또는 Gitorious와 같은 서비스를 사용하는 경우 도구가 제공하는 UI를 사용하여 변경 해야합니다 (공통 도구에서이를 수행하는 방법 은 이 답변 참조 ).


놀랍게도 효과가 있었고 Gitrefs 에서 더 많은 것을 배울 수있는 기회를주었습니다 ! 대단히 감사합니다! (예, 개인 서버에서는 Github 에서 처리하는 방법을 알고있었습니다 .)
Atcold

12

실제로 서버에서 마스터를 제거하는 대신 다음과 같이 바꿀 수 있습니다.

git push origin otherbranch:master -f

마스터를 다른 브랜치의 내용으로 대체하지만 원격에서는 여전히 마스터라고합니다. 그런 다음 로컬에서 마스터로 마스터를 확인할 수 있습니다.


알았어 고마워! 나는 물건을 강요 할 수 있다는 것을 알고 있지만, 왜 내가 master지점을 제거 할 수 없었는지 궁금해 하고 수락 된 대답이 그 이유를 설명합니다.
Atcold

1
+1. 이것은 remotes / origin / master에서 잘못된 첫 번째 커밋을 삭제할 수있는 유일한 방법이었습니다.
ctn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.