Git: 분기에 대해 기본적으로 구성된 원격은 무엇입니까?
원격 저장소가 있습니다.hub
나는 오직 회사에서만 일합니다.master
분점.아래 오류 메시지의 마지막 문장은 다음과 같습니다."현재 지점에 대해 기본 구성된 원격"을 확인하려면 어떻게 해야 합니까?어떻게 설정해야 하나요?
[myserver]~/progs $ git remote -v
hub ~/sitehub/progs.git/ (fetch)
hub ~/sitehub/progs.git/ (push)
[myserver]~/progs $ git branch -r
hub/master
[myserver]~/progs $ cat .git/HEAD
ref: refs/heads/master
[myserver]~/progs $ git pull hub
You asked to pull from the remote 'hub', but did not specify
a branch. Because this is not the default configured remote
for your current branch, you must specify a branch on the command line.
보다 간단하게 작업할 수 있습니다..gitconfig
는 의미 있는 상태로 남습니다.
Git 버전 v1.8.0 이상 사용
git push -u hub master
누를 때 또는:
git branch -u hub/master
OR
(현재 체크아웃된 지점의 리모컨을 로 설정합니다.)
git branch --set-upstream-to hub/master
OR
(이렇게 하면 이름이 지정된 분기에 대한 원격이 설정됩니다.branch_name
로
git branch branch_name --set-upstream-to hub/master
사용 중인 경우v1.7.x
그 이전에
사용해야 합니다.--set-upstream
:
git branch --set-upstream master hub/master
원격 분기 추적
git-branch의 추적 옵션을 사용하여 밀고 당기는 기본 원격 리포지토리를 지정할 수 있습니다.일반적으로 로컬 마스터 분기를 만들 때 --track 옵션을 지정하여 이 작업을 수행하지만, 이미 존재하기 때문에 구성을 수동으로 업데이트합니다.
편집하기.git/config
[branch "master"]
remote = origin
merge = refs/heads/master
이제 간단히 밀고 당길 수 있습니다.
[소스]
완전성을 위해 앞의 답변은 업스트림 분기를 설정하는 방법은 알려주지만 표시하는 방법은 알려주지 않습니다.
몇 가지 방법이 있습니다.
git branch -vv
는 모든 분기에 대한 정보를 보여줍니다. (대부분의 터미널에서 파란색으로 표시됨)
cat .git/config
에도 이 항목이 나와 있습니다.
참조용:
이 질문에 대한 답변의 프로그램 버전은 다음과 같습니다.
git branch --list "$(git branch --show-current)" "--format=%(upstream:remotename)"
현재 분기의 기본 원격 이름만 출력됩니다.그--show-current
Git 버전 2.22.0 이전에는 옵션이 작동하지 않습니다.
Git: 분기에 대해 기본적으로 구성된 리모컨은 무엇입니까?
이름이 지정된 분기의 경우branch_name
이것으로 끝까지 읽어 보십시오.
git config branch.branch_name.remote
세부 사항
로컬로 저장된 지점의 원격 추적 원격 이름을 다음을 통해 프로그래밍 방식으로 읽을 수 있습니다.git config branch.branch_name.remote
.
이름이 지정된 분기가 있다고 가정합니다.main
원격 추적은 다음과 같이 설정됩니다.origin
그렇다면, 당신의.git/config
파일에는 다음과 같은 내용이 포함됩니다.
[branch "main"]
remote = origin
merge = refs/heads/main
실행:
git config branch.main.remote
...그러므로 해당 구성 설정을 읽고 다음과 같이 반환됩니다.remote
.
이러한 패턴을 사용하여 Git 구성 변수를 프로그래밍 방식으로 읽거나 작성할 수 있습니다.
명령: ": " " ": "git config --global blametool.editor subl
이 선들을 전역의 맨 아래에 추가합니다.~/.gitconfig
파일 이름:
[blametool]
editor = subl
그 값인 그고그변값읽을을수다있니습수리▁▁out,▁that▁and▁read▁variable다▁can▁you니있습수을읽을 읽을 수 있습니다.subl
포함:git config blametool.editor
.
그렇게 해서 대본에 대한 흠집내기 도구를 설정했습니다.
브랜치(예: 마스터)에 대한 효과적인 푸시 리모컨을 가져오는 명령은 다음과 같습니다.
git config branch.master.pushRemote || git config remote.pushDefault || git config branch.master.remote
("managit config" 출력에서) 이유는 다음과 같습니다.
branch.name .remote[...]는 git fetch 및 git push를 알려줍니다. git fetch 및 git push 중 어떤 리모컨에서 [...]로 가져올지 [...] [push]를 리모컨으로 재정의할 수 있습니다.pushDefault(모든 분기에 대해) [및] 현재 분기 [...]는 branch.name .pushRemote [...]에 의해 추가로 재정의됩니다.
어떤 이유에서인지 "managit push"는 branch.name .remote에 대해서만 알려줍니다(세 가지 중에서 우선 순위가 가장 적음에도 불구하고) + 오류로 설정되어 있지 않으면 push defaults to origin이라고 표시합니다. repo를 복제할 때 branch.name .remote가 origin으로 설정되어 있지만 이 설정을 제거하면 git push가 실패합니다.비록 당신이 여전히 오리진 리모콘을 가지고 있더라도.
언급URL : https://stackoverflow.com/questions/4847101/git-which-is-the-default-configured-remote-for-branch
'programing' 카테고리의 다른 글
비XML 데이터에 대해 연결된 서버를 쿼리할 때 "Xml 데이터 유형이 분산 쿼리에서 지원되지 않습니다." 오류가 나타나는 이유는 무엇입니까? (0) | 2023.06.22 |
---|---|
'git submodule'을 사용하여 특정 버전의 서브모듈을 체크아웃하려면 어떻게 해야 합니까? (0) | 2023.06.22 |
WHERE 조건 없이 SQL Server의 테이블에서 '첫 번째' 레코드 삭제 (0) | 2023.06.22 |
SQL Server를 사용하여 일대일 관계 생성 (0) | 2023.06.22 |
사용자 정의 클래스가 있는 힌트 입력 (0) | 2023.06.22 |