찾다

 >  Q&A  >  본문

git 원격 추가(원격)(repoUrl)은 관련되지 않은 두 라이브러리에 사용됩니다.

저는 이 질문에 대해 생각해 본 적이 없고, 설명하기가 쉽지 않다고 느껴서 한번도 물어본 적이 없습니다.
예를 들어 프로젝트 A와 프로젝트 B가 있는데 둘은 전혀 관련이 없습니다.
프로젝트 A와 B에는 각각 remoA, locA, remoB 및 locB로 표시되는 원격 창고와 로컬 창고가 있습니다.

질문:
정상적인 상황에서 locA는 확실히 remoA와 연결되고 locB는 remoB와 연결됩니다. 이 연결이 복제를 통해 이루어졌는지 또는 git 원격 추가(remote)(repoUrl)를 통해 이루어졌는지 여부에 관계없이 말이죠. 이제 로컬 라이브러리 locA 및 locB가 이미 존재하지만 locB는 새로 초기화된 상태이고 작업 오류로 인해 여전히 빈 라이브러리라고 가정합니다.

나중에 이 오류를 발견하고

git 원격 추가 OriginB(remoBUrl)
을 실행했습니다.

그럼 현재 remoA/master와 remoB/master는 locB/master에 매핑되어 있나요?

git pull을 실행하면 remoA와 remoB의 원격 브랜치 코드가 로컬 마스터 브랜치에 병합되나요?

伊谢尔伦伊谢尔伦2694일 전1141

모든 응답(1)나는 대답할 것이다

  • phpcn_u1582

    phpcn_u15822017-06-29 10:10:59

    작업 오류로 인해 git remote add origin (remoAUrl)이 실행되었습니다. 나중에 이 오류를 발견하고 git 원격 추가 OriginB(remoBUrl)

    을 실행했습니다.

    넣을 계획이 없다면 remoA 关联给 locB,那么到这里就还是错的。正确做法应该是 git remote rm origin 然后 git remote add origin (remoBUrl)

    그럼 현재 remoA/master와 remoB/master는 모두 locB/master에 매핑되어 있나요?

    당연하지. 우선 git checkout -b --track xxx 这种感觉。其次,你添加了两个 remote,其中一个叫 origin,另一个叫 originB。但 git 会优先使用 origin과 비슷하게 '연관' 관계가 형성됐다고 말하는 것이 더 적절할 수도 있겠다는 생각이 듭니다. 자세한 내용은 다음 기사를 참조하세요

    git pull을 실행하면 remoA와 remoB의 원격 브랜치 코드가 로컬 마스터 브랜치에 병합되나요?

    당연하지. 먼저 로컬을 지점 중 하나로 업데이트한 다음 pull 다른 지점으로 이동하지 않는 한.

    git pull 不指定后续参数,默认就是 git pull origin。如果你在 master branch 上,默认也就是 git pull origin master.

    물론, 설정에 따라 변경될 수 있습니다. 위에서 언급한 사항은 기본 조건일 뿐입니다. 실제 상황을 보려면 .git/config 文件看一看。命令行里输入 cat .git/config을 열어주세요. 예:

    으아악

    이는 git 두 가지 사실을 알려줍니다.

    1. 지금 여기 계시다면 master branch 上,那么默认的 remoteorigin

    2. 이런 상황에서 공연을 한다면 git pull,不带任何参数的那种,那么就相当于 git pull origin master

    git push -u newOrigin newBranch 来改,那现在 git pull 就相当于 git pull newOrigin newBranch 了。
    类似地,也可以 git config branch.master.remote newOrigin 然后 git config branch.master.merge refs/heads/newBranch를 사용할 수 있습니다. 결과는 동일합니다.

    회신하다
    0
  • 취소회신하다