git fetch 또는 pull을 사용한 자동 정리
작업이 끝나서 알 수 없어서 누군가 원격 지사를 삭제 한 경우, 나는하지 않을 것이며 git fetch --prune
결국에는 삭제 된 지사를 다시 밀어 낼 것입니다.
매번 그것을 지정하지 않고 페치 / 풀 할 때 git이 prune 모드를 사용하도록 강제 할 수있는 해결책이 있습니까?
"
git fetch
"(따라서 "git pull
"도)는 "fetch.prune
"및 "remote.*.prune
"구성 변수를 확인하고 "--prune
"명령 행 옵션이 제공된 것처럼 작동하는 방법을 배웠습니다 .
즉, remote.origin.prune을 true로 설정하면
git config remote.origin.prune true
모든 git fetch
또는 git pull
자동 치기 것입니다.
참고 : Git 2.12 (2017 년 1 분기)는이 구성과 관련된 버그를 수정하여 git remote rename
오작동 을 일으킬 수 있습니다.
" git remote의 이름을 바꾸려면 어떻게합니까? "를 참조하십시오 .
commit 737c5a9 에서 더 많은 것을보십시오 :
"
git fetch --prune
"가 없으면 상대방이 이미 제거한 지점에 대한 원격 추적 지점이 영구적으로 유지됩니다.
어떤 사람들은 항상 "git fetch --prune
"을 (를) 실행하고 싶어합니다 .항상 정리하거나 특정 리모콘에서 가져올 때 사용자를 수용하려면 두 가지 새로운 구성 변수 "
fetch.prune
"및 "remote.<name>.prune
"를 추가하십시오.
- "
fetch.prune
"를 사용하면 모든 페치 조작에 대해 제거를 사용할 수 있습니다.- "
remote.<name>.prune
"를 사용하면 리모컨마다 동작을 변경할 수 있습니다.후자는 자연스럽게 전자를 무시
--[no-]prune
하고 명령 줄 의 옵션은 구성된 기본값을 무시합니다.
--prune
잠재적으로 파괴적인 작업 이므로 (Git은 삭제 된 참조에 대한 리플 로그를 보관하지 않습니다) 사용자 동의없이 제거하지 않기 때문에이 구성은 기본적으로 설정되어 있지 않습니다.
git config --global fetch.prune true
항상에 --prune
대한 git fetch
및 git pull
모든 Git 저장소에서 :
git config --global fetch.prune true
위의 명령은 전역 Git 구성 (일반적으로 ~/.gitconfig
)에 다음 줄을 추가합니다. git config -e --global
글로벌 구성을 보는 데 사용하십시오 .
[fetch]
prune = true
git config remote.origin.prune true
항상 --prune
하나의 단일 저장소에서 :
git config remote.origin.prune true
#^^^^^^
#replace with your repo name
이 위의 명령은 로컬 Git 구성 (일반적으로 .git/config
아래)을 마지막 줄 아래에 추가합니다 . git config -e
로컬 구성을 보는 데 사용하십시오 .
[remote "origin"]
url = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
fetch = +refs/heads/*:refs/remotes/origin/*
prune = true
--global
두 번째 명령 --local
내에서 사용하거나 첫 번째 명령 내에서 대신 사용할 수도 있습니다 .
git config --global gui.pruneDuringFetch true
당신이 사용하는 경우에 git gui
관심이있을 수 있습니다 :
git config --global gui.pruneDuringFetch true
그 내용은 다음과 같습니다.
[gui]
pruneDuringFetch = true
참고 문헌
해당 문서 git help config
:
--global
쓰기 옵션의 경우 :
~/.gitconfig
저장소 대신 글로벌 파일.git/config
에 쓰기,$XDG_CONFIG_HOME/git/config
이 파일이 존재하고~/.gitconfig
파일이없는 경우 파일에 쓰십시오 .
--local
쓰기 옵션 : 저장소
.git/config
파일에 씁니다 . 이것이 기본 동작입니다.
fetch.prune
true 인 경우 fetch는
--prune
옵션이 명령 줄에 제공된 것처럼 자동으로 작동합니다 . 도 참조하십시오remote.<name>.prune
.
gui.pruneDuringFetch
가져 오기를 수행 할 때 git-gui 가 원격 추적 분기를 제거해야하는 경우 "true" 입니다. 기본값은 "false"입니다.
remote.<name>.prune
true로 설정하면 기본적으로이 원격 장치에서 가져 오면 원격에 더 이상 존재하지 않는 원격 추적 참조도 제거됩니다 (
--prune
옵션이 명령 행에 제공된 것처럼 ).fetch.prune
설정이있는 경우 재정의 합니다.
당신은 항상 원하는 경우 prune
때를 fetch
, 내가 사용하는 제안 할 수 별칭 .
입력 git config -e
하여 편집기를 열고 특정 프로젝트의 구성을 변경하고 다음과 같은 섹션을 추가하십시오.
[alias]
pfetch = fetch --prune
git pfetch
정리 하면 가져 오는 시간이 자동으로 수행됩니다.
참고 URL : https://stackoverflow.com/questions/18308535/automatic-prune-with-git-fetch-or-pull
'Programing' 카테고리의 다른 글
PHP의 함수 안에서 함수 이름을 어떻게 얻습니까? (0) | 2020.04.24 |
---|---|
Python을 사용하여 HTML 파일에서 텍스트 추출 (0) | 2020.04.24 |
Twitter 부트 스트랩을 사용하여 요소를 숨기고 jQuery를 사용하여 표시하는 방법은 무엇입니까? (0) | 2020.04.24 |
메이븐 : 상대 경로로 항아리에 종속성 추가 (0) | 2020.04.24 |
node.js를 절대적으로 요구하는 방법? (0) | 2020.04.24 |