Git 구성 receive.denyCurrentBranch(전달)

2200 단어 gitbranch
자세히 보기
나는 이렇게 많은 자원을 보았지만, 답을 찾을 수 없었다.나는 Git 창고가 하나 있다.저장소와 로컬 변경 사항을 복제했습니다.내가 서버를 바꾸는 작업 원리를내가 지점을 만들면, 내가 서명한 지점은 나의 일을 서명하고, 마스터 지점을 서명한다.내 로컬을 주 지점으로 변경합니다.서버에 밀어넣으려고 하면 다음과 같은 예외가 발생합니다.
Welcome to Git (version 1.7.11-preview20120620)
Run 'git help git' to display the help index.
Run 'git help ' to display help for specific commands.
$ git push origin master:master
 Counting objects: 9, done.
 Delta compression using up to 4 threads.
 Compressing objects: 100% (7/7), done.
 Writing objects: 100% (8/8), 13.68 KiB, done.
 Total 8 (delta 2), reused 1 (delta 0)
 Unpacking objects: 100% (8/8), done.
 remote: error: refusing to update checked out branch: refs/heads/master
 remote: error: By default, updating the current branch in a non-bare repository
 remote: error: is denied, because it will make the index and work tree inconsistent
 remote: error: with what you pushed, and will require 'git reset --hard' to match
 remote: error: the work tree to HEAD.
 remote: error:
 remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
 remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
 remote: error: its current branch; however, this is not recommended unless you
 remote: error: arranged to update its work tree to match what you pushed in some
 remote: error: other way.
 remote: error:
 remote: error: To squelch this message and still keep the default behaviour, set
 remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
 To c:/jGit
 ! [remote rejected] master -> master (branch is currently checked out)
 error: failed to push some refs to 'c:/gitRepository'

하나의 해결 방안은 실행이다
git config receive.denyCurrentBranch ignore

그 후에 그것의 작업 원리는근데 왜 이 옵션이 필요한지 알고 싶어요.이게 유일한 선택인가요?무엇이 이렇게 한 결과입니까?내가 정말 하고 싶은 것은 지점을 만들어서 메인 지점에 통합시키고 서버를 바꾸는 것이다.본문 주소: CodeGo.net/499956/ 
 
쪽지 주소:http://codego.net/499956/

좋은 웹페이지 즐겨찾기