Git 원격 'push to' 기본값 변경
Git 기본 원격 분기 대상을 변경하여 그냥
git push
다음 대신:
git push upstream
현재 이것은 오리진 리모콘으로 설정되어 있고 저는 다른 리모콘으로 설정하고 싶습니다.
원본(복제된) 리모컨을 제거하려고 했습니다.
git remote rm origin
원래 리모컨을 제거했습니다.하지만 그것이 해결하지는 못합니다.git push
이해가 가는군요아직도 이해가 가는군요.
대상이 없습니다.fatal: 설정된 푸시 대상이 없습니다."URL"에서
를 사용하여 명령줄을 합니다.
저는 또한 다음을 가지고 놀려고 했습니다.
git remote set-url --push myfork origin
그리고 다른 옵션들은 작동하지 않는 것 같습니다(아마도 제가 오리진 리모콘을 너무 빨리 삭제했기 때문일까요?)
여기 답변에 따라 변경하려고 했습니다.
git config push.default upstream (or matching)
하지만 둘 다 효과가 없었습니다.
사용할 수 있습니다.git push -u <remote_name> <local_branch_name>
기본 업스트림을 설정합니다.자세한 내용은 설명서를 참조하십시오.
업스트림 하려면 "유선"을 하십시오.git branch
명령어와 업스트림 구성 플래그가 함께 표시됩니다.
리모컨이 먼저 있는지 확인합니다.
git remote -vv
현재(체크아웃된) 분기에 대한 기본 리모컨 설정:
git branch --set-upstream-to <remote-name>/<branch-name>
분기가 올바른 업스트림 리모컨으로 설정되었는지 확인합니다.
git branch -vv
Git 2.3.2 작업 중...
git branch --set-upstream-to myfork/master
지금이다status
,push
그리고.pull
을 가리키고 있습니다.myfork
이 명령을 사용하여 분기의 기본 원격을 한 번에 쉽게 변경할 수 있습니다.
git push -u <remote_name> --all
가 만약에 랬다면을 했다면,git push origin -u localBranchName:remoteBranchName
그리고 순차적으로.git push
명령을 실행하면 오리진이 존재하지 않는 오류가 발생한 다음 다음 단계를 수행합니다.
git remote -v
내가 신경 쓰지 않는 리모컨이 있는지 확인하세요.다을사여하와 함께 합니다.git remote remove 'name'
git config --edit
오래되거나 존재하지 않는 리모컨의 가능한 징후를 찾습니다.찾다를 .pushdefault
:
[remote]
pushdefault = oldremote
oldremote
값을 매기고 절약.
git push
이제 작동해야 합니다.
한 번 살펴보는 것이 도움이 될 수도 있습니다..git/config
에는 모든 과 각 됩니다.
예를 들면
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@gitea.xxx.be:fii/web2016.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "bugfix/#8302"]
remote = origin
merge = "refs/heads/bugfix/#8302"
[branch "feature/#8331"]
remote = origin
merge = "refs/heads/feature/#8331"
[remote "scm"]
url = https://scm.xxx.be/git/web2016bs.git
fetch = +refs/heads/*:refs/remotes/scm/*
이 파일에서 수동으로 변경하여 원하지 않는 원격을 제거하거나 사용 중인 다른 분기에 대한 기본 원격을 업데이트할 수 있습니다.
- 주의! 원격을 변경하거나 제거할 때 이 구성 파일의 모든 참조를 업데이트해야 합니다.
(Ubuntu 12.04에서 Git 버전 1.7.9.5 사용) 그냥 설명하면 됩니다.
Git가 원격을 추가/제거합니다.서버가 연결된 Git의 원격 인스턴스입니다.
git remote add myremote git://remoteurl
그런 다음 다음 다음과 같이 Git 저장소를 가져올 수 있습니다.
git fetch myremote
이렇게 하면 'myremote'라는 분기가 생성되는 것처럼 보이지만, 분기에 대한 원격은 자동으로 설정되지 않습니다.이 작업을 수행하려면 다음 작업을 수행해야 합니다.
먼저 이 문제가 있는지 확인합니다.
git config -l | grep myremote
다음과 같은 내용이 표시됩니다.
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
보이면,branch.myremote.remote=.
그런 다음 계속 진행해야 합니다.
git config branch.myremote.remote myremote
git checkout myremote
git pull
이제 원격 저장소를 최신 상태로 유지하고 풀/푸시를 적절한 원격에 연결해야 합니다.이러한 방식으로 분기별로 원격을 전환할 수 있습니다.[참고][1]
The Official Git Config Documentation에 따르면 기본 푸시 분기를 설정할 수 있습니다(리모트 검색만 가능)pushdefault(해당 페이지에서 pushdefault)를 선택합니다. 그러나 이는 이미 존재하는 리포지토리/문서에는 영향을 주지 않으므로 새 리포지토리/문서에만 적용됩니다.당신은 그것을 기억해야 합니다.--global
기본값 "" "" "(~/.gitconfig)"을 합니다.--system
시스템 전체 리포지토리 기본값(/etc/gitconfig)을 설정하고 플래그가 현재 리포지토리(./.gitconfig)에 대한 구성 옵션을 설정하지 않습니다.
또한 push.default 구성 옵션은 원격 동작이 아닌 ref-spec 동작을 구성하기 위한 것입니다.
[1]:git branch --set-upstream myotherremote
일반적으로 여기서 작동하지만, Git은 만약 그것이 그것의 리모콘으로 지점을 설정하지 않을 것이라고 불평할 것입니다.git branch --set-upstream myremote
는 이것이 이라고 생각합니다.하지만 저는 이것이 잘못된 행동이라고 생각합니다.
방금 이 문제를 해결하기 위해 찾은 또 다른 기술(원산지를 먼저 삭제했더라도 실수로 보이는 것)은 git config를 직접 조작하는 것입니다.
git config remote.origin.url url-to-my-other-remote
과 같이 * run 저 의 경 우 다 같 고 과 이 니 다 습 쳤 음 저 는 ▁* ▁run 다 ▁in 니 습 고 쳤 ▁by 같 저 ▁run ▁the 이 ▁i ▁casegit config --edit
Git 구성 파일에서 다음을 수행합니다.
[branch "master"]
remote = origin # <--- change the default origin here
아주 간단하게, 그리고 이것에 대한 저의 연구와 함께 여기에 있는 훌륭한 의견들 중 몇 가지를 한데 묶습니다.
먼저 원격 지점에 연결할 로컬 지점을 확인합니다.
git checkout mybranch
다음:
git branch -u origin/mybranch
위치:
git branch -u {remote name}/{branch name}
메시지가 표시됩니다.
"Branch mybranch set up to track remote branch mybranch from origin."
Gitman 페이지에서 다음을 찾을 수 있습니다.
remote.pushDefault
기본적으로 푸시할 원격. 재정의branch.<name>.remote
분기에 , 모분 대해에기, 의재의됨에 의해branch.<name>.pushRemote
특정 지점에 대해.
git push -u origin head
그게 제가 찾던 거예요
다음은 제가 해결할 수 있는 문제입니다.
fatal: The current branch task/PLAT-1924-datagrid-tool-panel-scrollbar has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin task/PLAT-1924-datagrid-tool-panel-scrollbar
➜ frontend git:(task/PLAT-1924-datagrid-tool-panel-scrollbar) git push -u origin head
Git의 Git의 제안을 합니다.git push --set-upstream origin task/PLAT-1924-datagrid-tool-panel-scrollbar
) 나 별칭을 하여 그런다붙고실키바면보로가드사또입다있수습니용력여할하별칭을는기음행을 입력할 수 git push -u origin head
지점별로 구분할 필요는 없습니다.
업데이트: 이상하게도 오늘 이 오류가 발생했습니다.소문자 변경head
그러나 위 명령에서 대문자로 표시하면 문제가 해결됩니다.
https://stackoverflow.com/a/23402125/470749 덕분입니다.
git remote set-url --push origin
앞서 언급한 것처럼 작동해야 하지만 대체 원격 이름 대신 URL을 명시적으로 제공해야 합니다.
git remote set-url --push origin git@github.com:contributor/repo.git
이 작업이 작동했는지 확인하려면 다음을 수행합니다.git remote -v
를 들어 예를 .
λ ~/go/src/github.com/stretchr/testify/ master git remote -v
fork git@github.com:contributor/testify.git (fetch)
fork git@github.com:contributor/testify.git (push)
origin git@github.com:stretchr/testify (fetch)
origin git@github.com:contributor/testify.git (push)
의사들이 말하는 것처럼:
명령줄에서 다음을 사용하여 푸시할 위치를 지정하지 않은 경우
<repository>
논쟁,branch.*.remote
현재 분기에 대한 구성을 참조하여 푸시할 위치를 결정합니다.구성이 누락된 경우 오리진으로 기본 설정됩니다.
언급URL : https://stackoverflow.com/questions/18801147/changing-the-git-remote-push-to-default
'programing' 카테고리의 다른 글
도커화된 Postgre 백업/복원SQL 데이터베이스 (0) | 2023.05.12 |
---|---|
nvm을 사용하여 Node.js 버전을 변경하는 방법 (0) | 2023.05.12 |
HTTP에서 POST와 PUT의 차이점은 무엇입니까? (0) | 2023.05.12 |
SQL Server의 문자열에 varbinary (0) | 2023.05.12 |
Angular 2 - 세트 내부에서 'this' 사용Timeout (0) | 2023.05.12 |