[git] 원격 브랜치를 추적하기 위해 기존 git 브랜치 가져 오기

git로 작업 할 때의 일반적인 워크 플로는 다음과 같습니다.

  1. 로컬 저장소 만들기
  2. 해당 저장소에서 일부 작업을 수행하고 파일을 추가 / 변경합니다.
  3. 저장소의 중앙 원격 위치를 원한다고 결정하고 하나를 만듭니다.
  4. 내 로컬 저장소의 모든 커밋을이 새 원격 저장소로 푸시

그러나 이제는 내가 어디로 밀고 당기고 있는지 지정하지 않고도이 원격 저장소 push와 주고받을 수 있기를 원합니다 pull. 로컬 마스터가 원격 마스터를 추적하기를 원합니다.

이 작업을 수행 하는 적절한 방법은 나에게 명확하지 않으며 실제로 하나 이상의 명령이되어서는 안되지만 설명서에서 확인할 수 없었습니다.

리포지토리 당 한 번만 수행되는 작업이기 때문에 일반적으로 두 가지 간단하지만 엉뚱한 솔루션 중 하나를 사용했습니다.

  1. git clone새 로컬 저장소를 만드는 데 사용 되었으며 이전 저장소를 삭제했습니다. git 복제 후 새 저장소가 원본을 추적하도록 설정됩니다.
  2. 마스터 트랙 원본을 만들기 위해 수동으로 .git / config를 편집했습니다.

명령을 실행할 수 있어야한다고 생각합니다 git remote. 마스터가 원격 마스터를 추적하도록 기존 리포지토리를 설정하는 형식 일 것입니다 . 누구든지 그 명령이 무엇인지 말해 줄 수 있습니까?



답변

설정 업스트림 인수를 사용하십시오.

git branch --set-upstream local-branch-name origin/remote-branch-name

위의 명령을 실행하면 .git / config 파일이 올바르게 업데이트되고 다음 출력으로 확인됩니다.

“원점에서 원격 지점 원격 지점 이름을 추적하도록 설정된 지점 로컬 지점 이름.”

편집 :마티는 말했다 : “.에서 버전 힘내 V1.8.0, –set-상류가되지 않습니다를 사용하는 대신-상류에 –set.”

git branch --set-upstream-to local-branch-name origin/remote-branch-name

참조 자세한 내용은.


답변

git help remote당신이 알아야 할 것을 보여줄 것입니다. 나는 당신이 원하는 것은

git remote add [remote-name] [remote-url]

# Set a local branch to follow the remote
git config branch.[branch-name].remote [remote-name]

# Set it to automatically merge with a specific remote branch when you pull
git config branch.[branch-name].merge [remote-master]

.git / config를 수동으로 편집하여 설정할 수도 있습니다.


답변

원격 분기를 추적하기 위해 새 로컬 분기를 생성하려는 경우에도 사용할 수 있습니다.

git checkout --track -b [branch_name] --track origin[or other remote name]/[remote_branch_name]

또는 더 나은 :

git checkout -t origin/branch_name


답변

최신 버전의 git에서는 다음을 사용할 수 있습니다.

git branch --track origin/branch_name


답변

The --set-upstream flag is deprecated and will be removed.

git branch master --set-upstream-to myupstream/master


답변

3 년을 앞당겨 (내가 뭘했는지 확인하세요 :-)) Git Bash를 사용하여 추적되지 않은 브랜치를 가져 오려고했고

If you wish to set tracking information for this branch you can do so with:

git branch --set-upstream-to=origin/<branch> develop

다음은 내가 필요한 것을 달성했습니다.

$ git branch --set-upstream-to=origin/develop develop
Branch 'develop' set up to track remote branch 'develop' from 'origin'.


답변

다음 명령을 사용하십시오.

git clone [<options>] [--] <repo> [<dir>]