github - 请教一个问题,关于 “git push 远程仓库名 本地分支:远程分支” 。
给我你的怀抱
给我你的怀抱 2017-05-02 09:41:14
0
3
632

在网上一篇文章上看到,git push操作的完整命令是:

“git push <远程主机名> <本地分支名>:<远程分支名>”

文章的作者还说了,“如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。

$ git push origin master

上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。

我在本地新建仓库“bendi”,github上新建远程仓库“origin”,然后本地仓库push到远程。
没有设置set-upstream,并且第一次push的时候也没加-u参数,而是直接“git push origin master”。

问题:现在本地仓库“bendi”和远程仓库“origin”之间应该没有“追踪关系”把,为什么我还是可以通过“git push origin master”这种不带远程分支名的命令来push到远程呢?bendi和origin这2个仓库没有设置过追踪关系啊。

给我你的怀抱
给我你的怀抱

모든 응답 (3)
Ty80

이것은 설명하기 어렵지 않습니다.

현재 폴더에서git remote add을 실행했다면 명령은

이어야 합니다.

git remote add origin https://github.com/yourName/yourRepo.git

저는 보통 이렇게 싸웁니다. . 이러한 방식으로 원점은 원격 라이브러리를 가리킵니다. 해당 명령에서 원본을 제거하려고 시도하면 오류가 발생합니다.git clone을 사용하여 원격 라이브러리를 복제하면 원점 포인터가 자동으로 설정됩니다.

그런데 한 가지 주의하셔야 할 점이 있습니다. . 지금까지 언급된origin은 창고명이 아닙니다. . 대신 로컬로 원격 창고에 부여되는 별칭입니다.

귀하의 경우에는 "github에 새로운 원격 창고 'origin'을 생성"하고 싶다고 하셨는데, 조금 혼란스럽습니다==! 창고 이름은 일반적으로 Origin 이라고 부르지 않습니다. . 예를 들어 프로젝트 이름이 Angular-Table인 경우git remote add origin https://github.com/yourName/Angular-Table.git만 하면 됩니다. 이렇게 하면git push origin master을 사용하여 변경 사항을 푸시할 수 있습니다.

브랜치에 대해 이야기해보겠습니다.git push origin master로컬마스터 브랜치를 원격 원본으로 푸시한다는 의미입니다.git push origin master:foo로 작성하면로컬마스터 브랜치를 원격 foo 브랜치로 푸시한다는 의미입니다.

그런데, 여기에 검은 기술이 등장합니다. . 예를 들어 원격 foo 분기를 삭제하려면 다음 명령을 사용하세요.git push origin :foo

git branch을 사용하여 현지에서 어떤 지점을 이용할 수 있는지 확인할 수 있습니다.git remote -v을 사용하여 원격으로 사용 가능한 지점을 확인할 수도 있습니다. 그런데git remote -v원격으로 정보도 볼 수 있으니 한번 해보세요

    小葫芦

    원격으로 마스터 브랜치가 있는지 확인하세요. 어쩌면 이 브랜치에 제출했을 수도 있습니다.

      为情所困

      다음 명령을 실행하면 분기를 볼 수 있습니다.upstream

      으아아아

      이 기사가 도움이 될 것입니다

        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!