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-currentGit 버전 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 |