development

자식으로 분기를 다운로드하는 방법은 무엇입니까?

big-blog 2020. 5. 14. 20:48
반응형

자식으로 분기를 다운로드하는 방법은 무엇입니까?


GitHub에서 호스팅되는 프로젝트가 있습니다. 한 컴퓨터에 지점을 만든 다음 변경 사항을 GitHub로 푸시했습니다.

git push origin branch-name

이제 다른 컴퓨터에 있고 해당 지점을 다운로드하고 싶습니다. 그래서 나는 시도했다 :

git pull origin branch-name

...하지만이 모든 것은 내 새 지점의 변경 사항으로 마스터 지점을 덮어 쓰는 것입니다.

기존 분기를 덮어 쓰지 않고 원격 분기를 올바르게 가져 오려면 어떻게해야합니까?


A와 감사 관련 질문은 , 내가 "체크 아웃"새 로컬 지사와 원격 지사에 필요하고 새 로컬 브랜치 이름을 지정하는 것을 알아 냈다.

git checkout -b newlocalbranchname origin/branch-name

아니면 할 수 있습니다 :

git checkout -t origin/branch-name

후자는 원격 지점을 추적하도록 설정된 지점을 만듭니다.


업데이트 : 원래이 질문을 게시 한 지 5 년이 지났습니다. 나는 많은 것을 배웠고 그 이후로 자식이 향상되었습니다. 나의 일반적인 워크 플로우는 지금 조금 다릅니다.

원격 브랜치를 가져 오려면 간단히 다음을 실행하십시오.

git pull

이것은 모든 원격 브랜치를 가져오고 현재 브랜치를 병합합니다. 다음과 같은 출력이 표시됩니다.

From github.com:andrewhavens/example-project
   dbd07ad..4316d29  master     -> origin/master
 * [new branch]      production -> origin/production
 * [new branch]      my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.

이제 자식은 내 새로운 것을 알고 my-bugfix-branch있습니다. 이 지점으로 전환하려면 간단히 다음을 실행하십시오.

git checkout my-bugfix-branch

일반적으로 체크 아웃하기 전에 브랜치를 생성해야하지만 최신 버전의 git에서는 이 원격 브랜치의 로컬 사본 체크 아웃 하고 싶어한다는 것이 현명 합니다.


나와 같은 Git 초보자에게는 원격 저장소를 다운로드하고 보려는 지점으로 전환하기 위해 수행 할 수있는 몇 가지 단계가 있습니다. 그들은 아마도 Git을 어떤 식 으로든 학대 할 수 있지만 그것은 나를 위해 일했습니다! :-)

코드를 다운로드하려는 저장소를 복제하십시오 (이 예제 에서는 Github 에서 LRResty 프로젝트선택했습니다 ).

$ git clone https://github.com/lukeredpath/LRResty.git
$ cd LRResty

이 시점에서 사용중인 지점을 확인하십시오 (마스터 지점이어야 함).

$ git branch    
* master

원하는 지점을 확인하십시오. 제 경우에는 'arcified'입니다.

 $ git checkout -b arcified origin/arcified
 Branch arcified set up to track remote branch arcified from origin.
 Switched to a new branch 'arcified'

원하는 지점을 사용하고 있는지 확인하십시오.

$ git branch    
* arcified
  master

나중에 코드를 다시 업데이트하려면 다음을 실행하십시오 git pull.

$ git pull
Already up-to-date.

git remote를 다음과 같이 사용할 수 있습니다 :

git fetch origin

다음과 같이 로컬 브랜치를 설정하여 원격 브랜치를 추적하십시오.

git branch --track [local-branch-name] origin/remote-branch-name

이제 local-branch-name에 원격 github 분기의 내용이 있습니다.

해당 local-branch-name으로 전환하고 작업을 시작할 수 있습니다.

git checkout [local-branch-name]

git bash의 git에서 다운로드하려는 새 컴퓨터의 폴더로 이동하십시오.

아래 명령을 사용하여 원하는 지점에서 코드를 다운로드하십시오

git clone 'git ssh url' -b 'Branch Name'

해당 분기 코드를 다운로드합니다.


당신이 사용할 수있는 :

git clone <url> --branch <branch>

분기의 내용 만 복제 / 다운로드합니다.

내 브랜치의 내용이 마스터 브랜치와 완전히 다르기 때문에 이것은 특히 나에게 도움이되었습니다 (일반적으로 그렇지는 않지만). 따라서 위의 다른 사람들이 제안한 제안은 도움이되지 않았으며 지점을 체크 아웃하고 git pull을 수행 한 후에도 마스터 사본을 얻었습니다.

이 명령은 지점의 내용을 직접 제공합니다. 그것은 나를 위해 일했다.


복제본 이름으로 Git clone 및 cd :

$ git clone https://github.com/PabloEzequiel/iOS-AppleWach.git
Cloning into 'iOS-AppleWach'...
$ cd iOS-AppleWach

원하는 지점 (GitHub 페이지)으로 전환하십시오.

$ git checkout -b gh-pages origin/gh-pages
Branch gh-pages set up to track remote branch gh-pages from origin.
Switched to a new branch 'gh-pages'

그리고 가지를 당기십시오.

$ git pull
Already up-to-date.

LS :

$ ls
index.html      params.json     stylesheets

Create a new directory, and do a clone instead.

git clone (address of origin) (name of branch)

참고URL : https://stackoverflow.com/questions/2294313/how-to-download-a-branch-with-git

반응형