업스트림 브랜치없이 원격 저장소 (예 : GitHub)로 푸시 할 때 오류를 방지하는 Bash 기능이 있습니다. 아마 당신은이 오류에 익숙 :git config push.default current로 전환 할 때의 영향은 무엇입니까?
$ git checkout -b test
$ git push
fatal: The current branch test has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin test
, 그 수정 내가하는 일은 git push
에 대한 호출을 가로채는 내가 더 상류 지점에 관련된 오류를 받고 있어요 있는지 확인하려면. 그 오류의 경우 위의 제안 된 명령을 복사하여 붙여 넣는 대신 터미널에 자동으로 실행됩니다. 당신이 궁금해하는 경우
이
코드입니다 : https://github.com/arturoherrero/dotfiles/blob/6f517a0b7287ac61174dfd2b6c9ee5bf9a9c2e96/system/git.sh#L22-L34나의 현재 망할 놈의 구성이 push.default simple
,하지만 오늘은 그냥 나도 같은 행동 (제거를 달성하기 위해 push.default current
를 사용할 수 있음을 깨달았다 내 사용자 정의 코드).
Ref. https://www.kernel.org/pub/software/scm/git/docs/git-config.html
current - push the current branch to update a branch with the same name on the receiving end. Works in both central and non-central workflows.
simple - in centralized workflow, work like upstream with an added safety to refuse to push if the upstream branch’s name is different from the local one.
When pushing to a remote that is different from the remote you normally pull from, work as current. This is the safest option and is suited for beginners.
This mode has become the default in Git 2.0.
그래서, git config push.default current
전환의 의미는 무엇인가? Git이 다른 동작을하기 때문에 문제가 발생할 수있는 시나리오를 이해하고 싶습니다.