일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- I'm Sorry
- 파이썬
- 코딩
- 빅데이터
- 웹개발
- 알고리즘
- 컴퓨터비전
- 인공지능
- 소프트웨어공학
- 네트워크보안
- 컴퓨터공학
- 머신러닝
- 2
- 딥러닝
- 데이터분석
- 데이터구조
- 자료구조
- 보안
- 데이터베이스
- 데이터과학
- 프로그래밍언어
- 클라우드컴퓨팅
- 버전관리
- 자바스크립트
- Yes
- 사이버보안
- 프로그래밍
- 소프트웨어
- 컴퓨터과학
- 네트워크
- Today
- Total
스택큐힙리스트
어떻게 모든 Git 브랜치를 가져올 수 있나요? 본문
Git 레포지토리를 클론하여 많은 브랜치가 포함되어 있었습니다. 그러나 짜증나는 것은 하나만 보입니다.
$ git branch
* master
어떻게 하면 모든 브랜치를 로컬로 가져와서 git branch 하는 경우 다음을 보여줄까요?
$ git branch
* master
* staging
* etc...
답변 1
간략한 요약 답변
git branch -r | grep -v '\->' | sed s,\x1B\[[0-9;]*[a-zA-Z],,g | while read remote; do git branch --track ${remote#origin/} $remote; done
git fetch --all
git pull --all
(모든 원격 저장소에서 모든 브랜치를 가져 오는 것 같지만, 확실하게 하기 위해 항상 먼저 fetch를 실행합니다.)
만약 로컬 브랜치에서 추적되지 않은 원격 브랜치가 서버에 있다면 첫 번째 명령어만 실행하세요.
완전한 대답
이렇게하면 모든 리모트에서 모든 브랜치를 가져올 수 있습니다.
git fetch --all
기본적으로 이건 power move입니다.
fetch은 원격 브랜치의 로컬 사본을 업데이트하므로 로컬 브랜치에 대해서는 항상 안전합니다. 그러나:
# $$ @ * @ && $ & 로컬 브랜치 (원격 브랜치를 추적하는)를 업데이트하지 않습니다. 로컬 브랜치를 업데이트하려면 모든 브랜치를 pull해야합니다.
fetch 지역 브랜치를 생성하지 않습니다(원격 브랜치를 추적), 이것을 수동으로 수행해야합니다. 모든 원격 브랜치를 나열하려면 : git branch -a
원격 브랜치를 추적하는 로컬 브랜치를 업데이트하려면:
git pull --all
그러나 이것은 여전히 부족할 수 있습니다. 원격 브랜치를 추적하는 로컬 브랜치만 작동합니다. 모든 원격 브랜치를 추적하려면 이 원 라이너를 실행하십시오. git pull --all 이전에.
git branch -r | grep -v '\->' | sed s,\x1B\[[0-9;]*[a-zA-Z],,g | while read remote; do git branch --track ${remote#origin/} $remote; done
참고로, AFAIK git fetch --all와 git remote update는 동등합니다.
카밀 쇼트의 comment는 사람들이 유용하게 사용하는 것으로 알려졌습니다.
제가 사용해야했던 것은:
for remote in `git branch -r`; do git branch --track ${remote#origin/} $remote; done
당신의 코드 때문에 origin/branchname 라는 지역 브랜치가 생성되었고, 저는 이를 참조할 때 refname 'origin/branchname' is ambiguous 라는 오류가 발생했습니다.
답변 2
Git 브랜치를 모두 가져 오는 방법은 무엇인가요?Git은 협업 개발 및 버전 관리 프로세스에서 매우 인기 있는 도구입니다. 이것은 대규모 프로젝트에서 작업하여 작업을 분리하고 추적할 수 있는 유용한 방법입니다. 그러나 Git을 사용하여 브랜치를 만들면 어떻게 가져와야 할지 궁금할 수 있습니다.
간단한 Git 명령어를 사용하여 깃 브랜치를 모두 검색하고 가져올 수 있습니다. 이를 수행하려면 로컬 리파지토리에서 다음 명령어를 실행하십시오.
```
$ git branch
```
이 명령은 현재 리파지토리에 있는 모든 브랜치를 보여줍니다. 또한 활성 브랜치, 즉 현재 체크 아웃 한 브랜치를 훌륭하게 강조 표시합니다. Git을 사용하여 브랜치를 생성하면 이러한 브랜치가 모두 표시됩니다. 그러나 다른 리모트 리파지토리에서 생성한 브랜치는 로컬에 아직 없을 수 있습니다.
주어진 리모트 브랜치를 로컬 리파지토리로 가져 오려면 다음 명령을 실행하십시오.
```
$ git checkout
```
이 명령은 로컬 리파지토리에 로컬 리파지토리의 현재 브랜치와 같은 이름의 새 브랜치를 만듭니다. 이 새 브랜치는 현재 작업 디렉토리와 동일한 시점에서 리모트 브랜치에서 만들어 졌으므로 전체 이력과 함께 가져옵니다.
결론적으로 Git 브랜치를 모두 가져 오려면 git branch 명령을 사용하십시오. 이 명령은 모든 로컬 브랜치를 보여주며, 로컬 컴퓨터에 없는 리모트 브랜치의 경우 git checkout