IT story

다른 폴더에서 git“log”명령 사용

hot-time 2020. 7. 30. 09:48
반응형

다른 폴더에서 git“log”명령 사용


폴더 A (git 프로젝트 인)에 일부 PHP 파일이 있습니다. 이 PHP 파일에서 "git log"를 실행하고 싶지만 폴더 B에 대해 폴더 B는 다른 자식 프로젝트입니다 (그래서 A와 B는 로그가 다릅니다).

쉘 명령으로 어떻게 할 수 있습니까?


에서 man git:

--git-dir명령을 전달하기 전에 매개 변수를 사용하여이를 수행 할 수 있습니다 .

git --git-dir /foo/bar/.git log

( .git디렉토리 지정 이 필요합니다.) 설명서에서 :

--git-dir=<path>

저장소 경로를 설정하십시오. GIT_DIR환경 변수 를 설정하여 제어 할 수도 있습니다 . 현재 작업 디렉토리에 대한 절대 경로 또는 상대 경로 일 수 있습니다.


자식 1.8.5 (Q4 2013) , 대신 설정의 또 다른 선택의 여지가됩니다 --git-dir. folder 에서
실행하려면 다음 git logB입력하십시오.

git -C B log

마찬가지로 " make -C <directory>", " git -C <directory> ..."다른 작업을 수행하기 전에 거기 가서 힘내을 알려줍니다 .


참조 44e1e4 커밋 에 의해 Nazri Ramliy :

현재 디렉토리를 떠나지 않고 다른 디렉토리에서 git 명령을 호출하려면 더 많은 키를 누르십시오.

  1. (cd ~/foo && git status)
    git --git-dir=~/foo/.git --work-tree=~/foo status
    GIT_DIR=~/foo/.git GIT_WORK_TREE=~/foo git status
  2. (cd ../..; git grep foo)
  3. for d in d1 d2 d3; do (cd $d && git svn rebase); done

위에 표시된 방법은 스크립팅에는 적합하지만 빠른 명령 행 호출에는 너무 번거 롭습니다.

이 새로운 옵션을 사용하면 적은 키 입력으로 위의 작업을 수행 할 수 있습니다.

  1. git -C ~/foo status
  2. git -C ../.. grep foo
  3. for d in d1 d2 d3; do git -C $d svn rebase; done

참고 URL : https://stackoverflow.com/questions/3769137/use-git-log-command-in-another-folder

반응형