Git 1.7+에서 모든 원격 지점을 나열하려면 어떻게 해야 합니까?
해봤습니다git branch -r
로컬로 추적한 원격 지점만 나열됩니다.없는 항목의 목록을 어떻게 찾습니까? (명령어가 모든 원격 분기를 나열하든 추적되지 않는 항목만 나열하든 상관없습니다.)
대부분의[1] 방문자들은 "Git 1.7+에서 모든 원격 지점을 나열하는 방법은 무엇입니까?"라는 질문에 대한 정확하고 간단한 답변을 제공합니다.
git branch -r
소수를[1] 위한 git branch -r
작동하지 않습니다.한다면git branch -r
작동하지 않음 시도:
git ls-remote --heads <remote-name>
한다면git branch -r
작동하지 않습니다. 그러면 Cascabel이 "기본 refspec을 수정했으므로 모든 분기를 가져오지 않습니다."라고 말할 수 있습니다.
[1] 2018-2월 이 각주의 글을 기준으로 댓글을 봤는데,git branch -r
대부분(140개 중 약 90% 또는 125개)에서 작동합니다.
한다면git branch -r
작동하지 않습니다. 확인하십시오.git config --get remote.origin.fetch
와일드카드 포함(*
) 이 답변에 따라
remote show
에는 로컬로 추적되지 않는 분기와 아직 가져오지 않은 분기를 포함하여 원격의 모든 분기가 표시됩니다.
git remote show <remote-name>
또한 로컬 리포지토리와 관련된 분기의 상태를 표시합니다.
> git remote show origin
* remote origin
Fetch URL: C:/git/.\remote_repo.git
Push URL: C:/git/.\remote_repo.git
HEAD branch: master
Remote branches:
branch_that_is_not_even_fetched new (next fetch will store in remotes/origin)
branch_that_is_not_tracked tracked
branch_that_is_tracked tracked
master tracked
Local branches configured for 'git pull':
branch_that_is_tracked merges with remote branch_that_is_tracked
master merges with remote master
Local refs configured for 'git push':
branch_that_is_tracked pushes to branch_that_is_tracked (fast-forwardable)
master pushes to master (up to date)
사용.git branch -r
모든 원격 분기를 나열합니다.git branch -a
로컬 및 원격의 모든 분기를 나열합니다.하지만 이 목록들은 구식이 됩니다.이 목록을 최신 상태로 유지하려면 다음을 실행합니다.
git remote update --prune
그러면 로컬 지점 목록이 원격에서 모든 새 지점 목록으로 업데이트되고 더 이상 존재하지 않는 모든 지점 목록이 제거됩니다.--prune 없이 이 업데이트 명령을 실행하면 새 분기가 검색되지만 원격에서 더 이상 삭제되지는 않습니다.
원격을 지정하여 이 업데이트를 가속화할 수 있습니다. 그렇지 않으면 추가한 모든 원격에서 업데이트를 가져옵니다.
git remote update --prune origin
git branch -a | grep remotes/*
그렇지만
git branch -ar
해야 합니다.
Git 분기 - 원격 분기
git ls-remote
당신도 할 수 있습니다.git fetch
다음에git branch -r
가져오기를 수행하지 않으면 최신 분기를 볼 수 없습니다.
그냥 실행git fetch
지휘권모든 원격 지점을 로컬 리포지토리로 끌어다 놓고 다음 작업을 수행합니다.git branch -a
모든 분기를 나열합니다.
내가 찾은 가장 간단한 방법은:
git branch -a
해보세요...
git fetch origin
git branch -a
TL;TR;
문제의 해결 방법은 다음과 같습니다.
git remote update --prune # To update all remotes
git branch -r # To display remote branches
또는:
git remote update --prune # To update all remotes
git branch <TAB> # To display all branches
Git Bash를 사용하면 다음을 사용할 수 있습니다.
git branch -a
원격 저장소에 다음 분기가 있다고 가정합니다.git branch -a
제공:
*remotes/origin/release/1.5.0
remotes/origin/release/1.5.1
remotes/origin/release/1.5.2
remotes/origin/release/1.5.3
remotes/origin/release/1.6.0
명령어를 으로 함git branch -rl '*/origin/release/1.5*'
다음과 같은 이점을 제공됩니다.
origin/release/1.5.1
origin/release/1.5.2
origin/release/1.5.3
-r
원격의 약자입니다.
-l
:를 사용<pattern>
실행하는 가장 좋은 명령은 다음과 같습니다.git remote show [remote]
원격 및 로컬, 추적 및 추적되지 않은 모든 분기가 표시됩니다.
오픈 소스 프로젝트의 예는 다음과 같습니다.
> git remote show origin
* remote origin
Fetch URL: https://github.com/OneBusAway/onebusaway-android
Push URL: https://github.com/OneBusAway/onebusaway-android
HEAD branch: master
Remote branches:
amazon-rc2 new (next fetch will store in remotes/origin)
amazon-rc3 new (next fetch will store in remotes/origin)
arrivalStyleBDefault new (next fetch will store in remotes/origin)
develop tracked
master tracked
refs/remotes/origin/branding stale (use 'git remote prune' to remove)
Local branches configured for 'git pull':
develop merges with remote develop
master merges with remote master
Local refs configured for 'git push':
develop pushes to develop (local out of date)
master pushes to master (up to date)
원격 지사를 얻고 싶다면, 우리는 사용할 수 있습니다.grep
사용할 명령은 다음과 같습니다.
grep "\w*\s*(new|tracked)" -E
다음 명령을 사용합니다.
> git remote show origin | grep "\w*\s*(new|tracked)" -E
amazon-rc2 new (next fetch will store in remotes/origin)
amazon-rc3 new (next fetch will store in remotes/origin)
arrivalStyleBDefault new (next fetch will store in remotes/origin)
develop tracked
master tracked
다음 항목에 대한 별칭을 만들 수도 있습니다.
git config --global alias.branches "!git remote show origin | grep \w*\s*(new|tracked) -E"
그럼도쳐요망냥그▁run를 하면 됩니다.git branches
.
인정된 답변은 저에게 효과가 있습니다.하지만 커밋을 가장 최근 것부터 정렬하는 것이 더 유용하다는 것을 알게 되었습니다.
git branch -r --sort=-committerdate
다음을 사용합니다.
git branch -av
는 원격 분기를 하여 모든만 아니라 원격 의 목록도 표시합니다./remote
하지만 그것은 또한 당신에게 제공합니다.*
업데이트한 내용과 마지막 커밋 주석에 대한 피드백을 제공합니다.
목록에 있어야 하지만 나열되지 않는 원격 분기가 있는 경우 다음을 사용하여 오리진이 올바르게 설정되어 있는지 확인할 수 있습니다.
git remote show origin
문제가 없으면 업데이트를 실행해야 합니다.
git remote update
이 기능이 성공적으로 실행된다고 가정할 때, 다른 답변에 따르면 다음과 같은 작업을 수행할 수 있어야 합니다.
git branch -r
저는 제가 원하는 것을 얻기 위해 엉망진창인 쉘 파이프라인을 하게 되었습니다.방금 오리진 원격에서 분기를 병합했습니다.
git branch -r --all --merged \
| tail -n +2 \
| grep -P '^ remotes/origin/(?!HEAD)' \
| perl -p -e 's/^ remotes\/origin\///g;s/master\n//g'
이 명령을 사용하여
git log -r --oneline --no-merges --simplify-by-decoration --pretty=format:"%n %Cred CommitID %Creset: %h %n %Cred Remote Branch %Creset :%d %n %Cred Commit Message %Creset: %s %n"
CommitID : 27385d919
Remote Branch : (origin/ALPHA)
Commit Message : New branch created
여기에는 원격 분기에서 참조하는 커밋 메시지 및 커밋 ID를 포함한 모든 원격 분기가 나열됩니다.
나열하는 원격 원본이 실제로 원하는 리포지토리이며 이전 복제본이 아닌지 확인합니다.
이 명령을 사용하여 모든 분기를 가져옵니다.
git fetch --all
언급URL : https://stackoverflow.com/questions/3471827/how-do-i-list-all-remote-branches-in-git-1-7
'programing' 카테고리의 다른 글
Azure 함수가 존재하는 동일한 폴더에서 File을 읽을 수 있습니까? (0) | 2023.04.28 |
---|---|
'Microsoft' 파일 또는 어셈블리를 로드할 수 없습니다.오윈. 보안.쿠키' 또는 쿠키 종속성 중 하나입니다. (0) | 2023.04.28 |
UIStackView를 스크롤할 수 있습니까? (0) | 2023.04.28 |
설치된 MSI 설정의 제품 GUID를 어떻게 찾을 수 있습니까? (0) | 2023.04.28 |
느낌표는 스위프트 언어로 무엇을 의미합니까? (0) | 2023.04.28 |