Github 저장소에서 가장 빠른 커밋으로 이동하려면 어떻게해야합니까?
GitHub에서 대규모 오픈 소스 프로젝트의 초기 커밋으로 쉽게 이동할 수있는 방법이 있습니까?
이 프로젝트에는 오늘 현재 13,000 개 이상의 커밋이 있습니다. 초기 커밋 (또는 첫 커밋)에 도달하기 위해 커밋 히스토리 페이지에서 "이전"버튼을 수백 번이나 수백 번 누를 필요가 없습니다.
저장소를 복제하고 명령 줄로 열고 실행합니다. $ git log --reverse
이렇게하면 커밋이 역순으로 표시됩니다.
그런 다음 첫 번째 커밋의 ID (Object Name)가 있으면 github에서 볼 수 있습니다. https://github.com/UserName/Repo/commit/6a5ace7b941120db5d2d50af6321770ddad4779e
이 작업을 수행하는 명확한 UI는 없지만 커밋 로그의 페이지 1로 이동하기위한 올바른 URL을 구성하는 방법이 있습니다.
dotnet / coreclr 저장소 의 첫 번째 커밋을 찾고 싶다고 가정 합니다 . 먼저 저장소의 커밋 수를 기록해 둡니다. 현재 16,634 개입니다. 이제 커밋 목록으로 이동하여 "이전"을 한 번 클릭 합니다. URL은 다음과 같습니다.https://github.com/dotnet/coreclr/commits/master?after=872095a758a3a6191a9798c94a98e8d1e16b2254+34
통지 +34
부분. 이것이 얼마나 많은 커밋을 건너 뛰는 지입니다. 페이지 당 16,634 빼기 1 빼기 35로 변경하면 이 URL이 표시 되며 coreclr 커밋 기록의 첫 번째 페이지로 바로 이동합니다.
2015 년 2 월 : GitHub 에서 대규모 오픈 소스 프로젝트의 초기 커밋으로 쉽게 이동할 수있는 방법이 있습니까?
네, 이제 있습니다! (의미 : 리포지토리 를 복제 하지 않고git log
로컬 복제에 적용 )
2017 년 1 월부터 GitHub에서 " 개선 된 비난보기로 파일 기록을 더 빠르게 탐색 "할 수 있습니다.
회귀를 디버깅하거나 일부 코드가 어떻게 현재 모양을 갖게되었는지 이해하려고 할 때 특정 변경 전에 파일이 어떻게 생겼는지 확인하고 싶을 것입니다.
개선 된 비난보기를 사용하면 파일의 전체 기록을 보지 않고도 시간이 지남에 따라 파일의 일부가 어떻게 발전했는지 쉽게 확인할 수 있습니다 .
다음은 git / git repo 자체 의 가장 오래된 커밋으로 돌아가는 데모 입니다 (47K + 커밋) ... 세 번의 클릭으로!
여기서 트릭은 첫 번째 (또는 매우 초기) 커밋에서 찾을 수있는 파일을 선택하는 것 README.md
입니다.
nodejs 프로젝트 의 초기 커밋 중 하나를보고 싶었습니다 . 나는 다음을 수행했다.
- nodejs 사이트를 방문했습니다 . 그런 다음이 시점에서 총 커밋 수가 약 2 만 3 천 (정확히 23652)임을 관찰했습니다.
- 다음으로 커밋 링크를 클릭하면 아래와 같이 https://github.com/nodejs/node/commits/master 로 이동 했습니다.
이제 끝까지 아래로 스크롤하여 Newer 및 Older 버튼을 찾았습니다. 최신 버튼이 비활성화됩니다. 이전 버튼을 클릭했고 https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+34 로 이동했습니다.
이제 URL에 +34가 있습니다. 이제 나는 그것을 23000으로 변경했습니다 (내가 관찰 한 커밋 수가 23000이기 때문에). 그래서 내가 시도한 새 URL은
https://github.com/nodejs/node/commits/master?after=de37ba34c5d6f3a2d18daf482f850be8fddb4621+23000
- 이제 거의 다 왔습니다. 몇 번 더 반복하거나 이전 버튼 클릭으로 원하는 곳에 도달했습니다.
init bookmarklet을 사용하여 GitHub 저장소의 첫 번째 커밋으로 이동할 수 있습니다 .
INIT
repo의 첫 번째 커밋으로 빠르게 이동 하는 북마크릿 입니다.
개요
리포지토리에서 가장 오래된 커밋으로 빠르게 이동할 수 있다는 것은 매우 유용합니다. 계속해서 북마크릿 (링크) 을 북마크 바로 드래그하고 저장소의 첫 번째 커밋으로 이동하고 싶을 때마다 클릭하세요.
용법
특정 저장소의 랜딩 페이지
(e.g. like the one you're on)
로 이동하여 북마크릿을 클릭하면 첫 번째 페이지 (초기 커밋)로 이동합니다. 기본적으로master
분기를 추적 하지만branch
랜딩 페이지에서 를 변경하면 해당 분기의 첫 번째 커밋으로 이동합니다.
면책 조항 : 나는 이 답변을 게시하기 몇 분 전에 작은 Readme 업데이트를 제공하여 초기화 했습니다.
git log --reverse
git 명령 을 사용해야합니다 .
이렇게하면 지정된 리포지토리에 대한 커밋 내역이 역순 (오래된 것에서 최신으로)으로 반환됩니다.
그런 다음 약간의 sed
마법 의 도움으로 첫 번째 커밋의 날짜와 같은 것을 가질 수 있습니다 (제가 항상 제 자신을 위해 필요했던 것입니다).
git log --reverse | sed -n 3p
궁극적으로, 당신은 (는 대부분 중 명령을 입력 지루하거나 기억하기 단지 불가능하기 때문에,)와 같은 쉘 스크립트, 그래서뿐만 아니라이 문제를 자동화 할 수 있습니다 이 하나가 구조에 올 수 있습니다.
다음을 사용하여 커밋의 첫 번째 페이지로 이동할 수 있습니다.이 페이지는 Chrome 개발 도구에 스 니펫으로 보관합니다.
function githubFirstCommitsPage() {
let el = document.querySelector('.repository-content');
let base = el.querySelector('a[data-pjax]').href;
let count = el.querySelector('.commits .num')
.textContent
.trim()
.replace(/[^\d\.\-]/g, "");
count = count-36;
let sha = el.querySelector('.commit-tease-sha')
.href
.split('/');
sha = sha[sha.length-1];
window.location = `${base}?after=${sha}+${count}`;
}
githubFirstCommitsPage();
'IT story' 카테고리의 다른 글
jQuery를 사용하여 빈 텍스트 입력 선택 (0) | 2020.08.18 |
---|---|
Grunt 작업과 함께 노드 검사기 사용 (0) | 2020.08.17 |
16 진수 문자열을 정수로 변환 (0) | 2020.08.17 |
모든 테스트가 실행되기 전에 코드를 한 번 실행할 수 있습니까? (0) | 2020.08.17 |
WPF에서 레이블 텍스트를 중앙에 배치하는 방법은 무엇입니까? (0) | 2020.08.17 |