git --git-timeout이 예상대로 작동하지 않습니다.
현재 있는 디렉터리와 다른 디렉터리에서 git를 실행하려고 합니다.예를 들어 다음과 같습니다.
cd /home/domain/
git status << runs perfect ie
# On branch master
# Your branch is ahead of 'origin/master' by 6 commits.
그래서 이제 다른 디렉토리에서 이 명령을 실행하고 싶습니다.--git-dir
선택.
내가 들어간다고 치자구요.root/
다음을 시도해 보십시오.
git --git-dir="/home/domain/" status
## Error
fatal: Not a git repository: '/home/domain/'
저는 또한 그것을 포함시키려고 노력했습니다..git
폴더, 즉
git --git-dir="/home/domain/.git/" status
그러나 이것은 루트에서 git를 실행하려고 하는 것처럼 보입니다. 즉, 내 도메인 폴더에서 모든 것을 삭제하고 루트에 모든 것을 추가하는 것입니다.
누군가 제가 무엇을 잘못하고 있는지 조언해주길 바랍니다.
working dir도 정의해야 합니다.헷갈리긴 하지만 유연성 문제입니다.
git --git-dir=/mycode/.git --work-tree=/mycode status
당신은 여기서 조금 더 읽을 수 있습니다.
Git 1.8.5(다음 주 출시 예정)부터는 훨씬 더 간단해질 것입니다.
git -C "/home/domain/" status
설정할 필요 없음--git-dir
그리고.--work-tree
더 이상!
는 것을 알게 되었습니다.
-C
와 완전히 동등하지는 않습니다.--git-dir --work-tree
,왜냐면-C
는 환경 변수를 재정의하지 않습니다.
Nazri Ramliy의 commit 44e1e4를 참조하십시오.
현재 디렉터리를 떠나지 않고 다른 디렉터리에서 git 명령을 호출하려면 키를 더 많이 눌러야 합니다.
(cd ~/foo && git status) git --git-dir=~/foo/.git --work-tree=~/foo status GIT_DIR=~/foo/.git GIT_WORK_TREE=~/foo git status
(cd ../..; git grep foo)
for d in d1 d2 d3; do (cd $d && git svn rebase); done
위에 표시된 방법은 스크립팅에 사용할 수 있지만 빠른 명령줄 호출에는 너무 번거롭습니다.
이 새로운 옵션을 사용하면 적은 키 입력으로 위 작업을 수행할 수 있습니다.
git -C ~/foo status
git -C ../.. grep foo
for d in d1 d2 d3; do git -C $d svn rebase; done
위에서 언급한 내용을 보면 여전히 문제가 발생하고 있는 것 같습니다.
root@erx [/]# git --git-interval=/home/domain/.git --work-tree=/home/domain/ pull origin 마스터fatal: /usr/local/libexec/git-core/git-timeout은 작업 트리 없이 사용할 수 없습니다.
당신이 이걸 실행하려고 하는 것처럼 들리네요.crontab
뭐 그런 거.를 사용하는 것이 더 나을 수 있습니다.cd
먼저 작업 디렉토리로 전환합니다.예:
root@erx [/]# (cd /home/domain &&git 풀 오리진 마스터)
이것은 일시적으로 (괄호 안에서) 현재 디렉토리를 (괄호 안에서) 변경합니다./home/domain
그리고 나서 뛰어요.git pull origin master
명령이 완료된 후 현재 디렉토리는 명령 이전의 디렉토리로 유지됩니다.
git --git-dir="/home/domain/" status
## Error
fatal: Not a git repository: '/home/domain/'
Git 2.26(2020년 1분기)을 사용하면 문서가 더 명확해집니다.
위치 지정의 한 가지 효과GIT_DIR
는 (환경 변수 또는 "와 함께)입니다.git --git-dir=<where> cmd
옵션)는 리포지토리 검색을 비활성화하는 것입니다.
새로운 사용자가 혼동되는 경우가 많기 때문에 문서에서 이 문제가 좀 더 강조되었습니다.
헤바 왈리()HebaWaly
의 82ad54(2020년 1월 30일)를 참조하십시오.
(주니오 C 하마노에 의해 합병 -- -- 2020년 2월 12일 17e4a1b 커밋에서)
git
--git-message에 대한 문서 업데이트사인 오프 바이: 헤바 왈리
도우미: 하마노 주니오
git --git-dir <path>
약간 혼란스럽고 사용자가 예상하는 대로 작동하지 않는 경우가 있습니다.를 들어,가 " " 를 실행할 경우, " 는 " " 입니다.
git --git-dir=<path> status
한합니다.git 저 장 검 알 색 리 작 디 터 할 다 트 니 합 당 를 리 작 업 에 리 렉 는 업 현 재 의 사 자 소 용 않 지 한 하 정 는 지 도 로 고 별 건 즘 뛰 너 을 고 ▁to ▁g ▁the ▁tree it ▁work g ▁directory 다 니 '
이 할당이 잘못되면 출력이 사용자의 예상과 일치하지 않습니다.이 패치는 설명서를 더 명확하게 업데이트합니다.
따라서 현재 설명서에는 다음이 포함됩니다.
--git-dir=<path>:
경로를 합니다("").
.git
디렉토리)를 선택합니다.
이 기능은 다음을 설정하여 제어할 수도 있습니다.GIT_DIR
환경 변수입니다.
현재 작업 디렉토리에 대한 절대 경로 또는 상대 경로일 수 있습니다.이 옵션을 사용하여 ""
.git
디렉토리의 위치 지정(또는GIT_DIR
variable는 "경수가환변있해다검찾리리토니제합색을포지는으려는를디리렉터▁"▁▁environ다▁turns▁a)▁▁tries니▁that해"가 있는 디렉터리를 찾으려는 검색을 합니다..git
하위 디렉터리(이것이 저장소 및 작업 트리의 최상위 수준을 검색하는 방법)이며, Git에게 사용자가 작업 트리의 최상위 수준에 있음을 참조하십시오.당신이 트리의 에 있지 , 합니다. 약당 작 트 신 에 게 않 작 다 트 은 당 최 합 알 의 리 위 다 신 니 상 야 어 위 만 주 려 치 를 면 업 지 있 이 에 리 터 업 렉 리 디 최 의 상 위 ▁the it ▁if ▁with ▁g , ▁tell ▁of ▁is 합 만 it ▁you
--work-tree=<path>
옵또(으)로 표시)GIT_WORK_TREE
에 대한 설명합니다.
언급URL : https://stackoverflow.com/questions/1386291/git-git-dir-not-working-as-expected
'source' 카테고리의 다른 글
형식 스크립트의 문자열 보간, '자리 표시자'를 변수로 바꾸기 (0) | 2023.07.15 |
---|---|
spring-boot:run과 spring-boot:start의 차이점은 무엇입니까? (0) | 2023.07.15 |
파이썬에서 주어진 픽셀의 RGB 값을 읽는 방법은 무엇입니까? (0) | 2023.07.15 |
엔티티 매핑에서 시퀀스의 증분 크기는 [50]으로 설정되고 연결된 데이터베이스 시퀀스 증분 크기는 [1]입니다. (0) | 2023.07.15 |
요소가 배열에 있는지 확인하는 방법 (0) | 2023.07.15 |