원격 저장소에서 지점의 커밋 기록에 액세스하려고합니다. 나는 문서를 보았지만 로컬 git 클라이언트를 사용하여 원격 저장소의 커밋 기록에 액세스하는 방법에 대한 실질적인 정보를 찾을 수 없었습니다.
원격 저장소에서 지점의 커밋 기록에 액세스하려고합니다. 나는 문서를 보았지만 로컬 git 클라이언트를 사용하여 원격 저장소의 커밋 기록에 액세스하는 방법에 대한 실질적인 정보를 찾을 수 없었습니다.
답변:
git log remotename/branchname
해당 리포지토리에 지정된 원격 분기의 로그를 표시하지만 리포지토리에서 원격 리포지토리의 개인 "복사"로 "가져온"로그 만 표시합니다.
리포지토리 복제본은 다음을 수행하여 원격 지점의 상태 만 업데이트합니다 git fetch
. 서버에 직접 연결하여 로그를 확인할 수는 없습니다. 서버의 상태를 다운로드 git fetch
한 다음 원격 지점의 로그를 로컬에서 확인하십시오.
또 다른 유용한 명령은 다음과 같습니다.
git log HEAD..remote/branch
원격 브랜치에는 있지만 현재 브랜치에는없는 커밋을 표시합니다 ( HEAD
).
git fetch
당신은 사용할 필요가 --all
리모트에서 가져올 수 있습니다.
NB. 아래의 "origin"은 복제 된 저장소의 업스트림을 나타내는 데 사용합니다. "origin"을 원격 저장소의 설명 이름으로 바꾸십시오. "원격 참조"는 clone 명령에 사용 된 것과 동일한 형식을 사용할 수 있습니다.
git remote add origin <remote reference>
git fetch
git log origin/master
git://git.somedomain.tld/some/repo
<refspec>
가져 오기 (또는 사용 fetch --all
) 를 지정할 필요가 없습니까?
로컬 리포지토리의 로그 만 볼 수 있지만 설정 한 모든 원격의 페치 된 분기가 포함될 수 있습니다.
따라서 저장소를 복제하면 ...
git clone git@gitserver:folder/repo.git
기본값은 origin/master
입니다.
origin
let 's add 이외 의 다른 리포지토리에 리모컨을 추가 할 수 있습니다 production
. 로컬 클론 폴더 내에서 :
git remote add production git@production-server:folder/repo.git
로그를보고 싶다면 production
다음을 수행해야합니다.
git fetch --all
이것은 모든 원격에서 가져옵니다 (기본 가져 --all
오기는에서 만 가져옵니다 origin
)
가져온 후에는 production
원격 에서 로그 를 볼 수 있으므로 분기도 지정해야합니다.
git log production/master
모든 옵션은 로컬 지점에 로그온 할 때와 같이 작동합니다.
이것이 나를 위해 일한 것입니다.
git fetch --all
git log production/master
이것은 모든 원격에서 가져옵니다. 즉, 잠재적으로 "커밋 로그를 살펴보기 위해 2GB 상당의 객체를 복제해야합니다 . "
필터링이 언제 추가되었는지 확실하지 않지만 기록 / 참조 로그 만 가져 오려는 경우 오브젝트 블로 브를 제외하는 방법입니다.
git clone --filter=blob:none --no-checkout --single-branch --branch master git://some.repo.git .
git log
원격 서버의 로그를 쉽게 얻을 수 있습니다. 방법은 다음과 같습니다.
(1) ssh를 통해 git을 사용하는 경우 git login 및 password를 사용하여 원격 서버에 로그인하고 리포지토리가있는 원격 폴더를 chdir하고 원격 서버의 리포지토리 내에서 "git log"명령을 실행하십시오.
(2) Unix의 표준 로그인 프로토콜을 통해 git을 사용하는 경우 원격 서버에 텔넷으로 연결하고 git log를 수행하십시오.
도움이 되었기를 바랍니다.
다음은 원격에서 로그를 쉽게 볼 수있는 bash 기능입니다. 두 개의 선택적 인수가 필요합니다. 첫 번째는 브랜치 이며 기본적으로 master 입니다. 두 번째는 리모컨 이며 기본 설정은 스테이징 입니다.
git_log_remote() {
branch=${1:-master}
remote=${2:-staging}
git checkout $remote/$branch
git fetch
git log
git checkout -
}
예 :
$ git_log_remote
$ git_log_remote development origin