어떤 분기를 지정하지 않고 이것을 설정하는 구성 방법이 있습니까?
답변
Git은 이미 현재 분기 만 가져옵니다. 분기를 추적 분기로 설정 한 경우 원격 분기를 지정할 필요가 없습니다. git branch --set-upstream localbranch reponame/remotebranch
추적 관계를 설정합니다. 그런 다음 발행 git pull [--rebase]
하면 해당 분기 만 업데이트됩니다.
물론 모든 원격 추적 분기와 원격에 대한 모든 참조가 업데이트되지만 로컬 추적 분기 만 수정됩니다.
이 일반적인 작업의 입력을 줄이는 데 유용한 Bash 별칭 :
# Add an alias to pulling latest git changes into your same branch
alias pullhead='git pull origin $(git rev-parse --abbrev-ref HEAD)'
동일한 기능을 수행하는 Powershell 기능 :
Function pullhead {
$cur_head="$(git rev-parse --abbrev-ref HEAD)"
& git pull origin ${cur_head}
}
답변
나는 이렇게했다.
git pull origin "$(git branch | grep -E '^\* ' | sed 's/^\* //g')"
또는
git pull origin $(git rev-parse --abbrev-ref HEAD)
에서 현재 분기를 추출하고 git branch
원격 원본에서 해당 분기를 가져옵니다.
Seth Robertson이 말했듯이 인수가 주어지지 않으면 현재 분기 만 수정되지만 모든 원격 분기는 가져옵니다. 모든 원격 지점을 가져오고 싶지 않기 때문에 이렇게했습니다.
답변
최신 정보
내가 추가 한 이전 답변이 더 이상 작동하지 않습니다. : /. 그러나 내가 배치 한 PUSH 버전에 대해 약간의 찬성 투표를받은 후에는이 답변이 실제로 검색 엔진에서 여기로 오는 누군가를 돕고 있음을 의미 하므로이 답변을 유지하겠습니다.
새 버전의 git에 대해 다음을 시도하십시오.
$ git config --global push.default current
답변
예,에서 변경할 수있는 구성이 있습니다 .gitconfig
. 예 :
[push]
default = current
현재 분기를 푸시하여 수신 측에서 동일한 이름으로 분기를 업데이트합니다.
확인 :
git config --global --get push.default
참조 : git-config .
답변
--set-upstream
플래그는 사용되지 않으며 제거됩니다. 따라서 --track
또는--set-upstream-to
예 :이 지점에 대한 추적 정보를 설정하려면 다음과 같이 할 수 있습니다.
git branch --set-upstream-to=<remote>/<branch> develop
답변
다음은 원격이 있다고 가정하지 않고 origin
분기가 원격을 추적하지 않는 경우 처리 하는 git 별칭입니다 .
pullh = "!f() { set -e; set -o pipefail; arr=($(git rev-parse --abbrev-ref @{u} | sed 's/\\//\\n/')); git pull ${arr[0]} ${arr[1]}; }; f"
(면책 조항 : 저는 bash 초보자이며 위의 내용을 많이 단순화 할 수 있습니다.)