답변:
줄 번호에 연결하지 마십시오! 표준 URL 도 사용하십시오 . 그렇지 않으면 해당 파일이 업데이트 될 때 잘못된 행을 가리키는 URL이 생깁니다!
올바른 줄을 영구적으로 연결하는 방법 :
원하는 줄 번호 (예 : 줄 18)를 클릭하면 브라우저의 URL #L18
이 끝에 고정됩니다. 문자 그대로 18
코드 줄이 아닌 왼쪽을 클릭하십시오 . 다음과 같습니다 :
이제 브라우저의 URL은 다음과 같습니다.
https://github.com/git/git/blob/master/README#L18
여러 줄을 선택하려면 Shift 키를 누른 상태에서 줄 20과 같은 두 번째 줄 번호를 클릭하면됩니다.
이제 브라우저의 URL은 다음과 같습니다.
https://github.com/git/git/blob/master/README#L18-L20
중요한 부분은 다음과 같습니다.
이제 y
키 를 눌러 특정 커밋에 대한 표준 URL을 가져옵니다 . 브라우저의 URL이 다음과 같이 변경됩니다.
https://github.com/git/git/blob/5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3/README#L18-L20
해당 링크에는에있는 파일의 현재 버전이 아니라 특정 커밋에 대한 실제 SHA 해시가 포함되어 있습니다 master
. 즉,이 링크는 영원히 작동하며 해당 파일의 향후 버전에 포함 된 18-20 행을 가리 키지 않습니다.
이제 새로운 영구 링크의 빛을 발하십시오. ;-)
2017 년 9 월 29 일 업데이트 : @watashiSHUN이 지적한 것처럼 github은 이제 ...
하나 이상의 라인을 선택한 후 왼쪽에 메뉴를 제공하여 영구 링크를 쉽게 얻을 수있게했습니다 . @watashiSHUN의 답변 도 공감 하십시오 .
2016 년 3 월 25 일 업데이트 : 적절한 사례 — 위의 예에서는 URL의 "README"파일을 참조했습니다. 비정규 URL 은이 답변이 작성되었을 때 실제로 작동했습니다. 그러나 이제이 URL README
은 (으)로 이동 한 이후 더 이상 작동하지 않습니다 README.md
. 그러나 SHA 해시가있는 표준 URL은 여전히 예상대로 작동합니다.
y
키도 ... help.github.com/articles/getting-permanent-links-to-files
L18-L20,L29
사람이 CTRL
클릭하여 연속적이지 않은 줄을 추가 할 수 있다고 제안했습니다 . 나는 당신의 아이디어가 큰 제안이며 매우 유용하다고 생각합니다.
README
이다 README.md
?
@ broc.seib는 정교한 대답을 가지고 , 난 그냥 대신 누르는 것을 지적 할 y
영구 링크를 얻을, github에 지금 당신이 그것을 달성하는 데 도움이 매우 간단한 UI를 가지고
줄 번호를 클릭 한 다음 주소 표시 줄에서 링크를 복사하여 붙여 넣습니다. 범위를 선택하려면 숫자를 클릭 한 다음 나중에 숫자를 Shift 클릭하십시오.
다른 방법으로, 링크는 #L<number>
파일에 대한 링크를 사용하여 특정 행 번호 끝에 추가하는 비교적 간단한 형식 입니다. 다음은 git
저장소의 세 번째 줄에 대한 링크입니다 README
.
y
. ;-)
퍼머 링크를 사용하여 이슈, PR 등에 코드 스 니펫을 포함시킬 수 있습니다.
참고 문헌 :
https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet
많은 편집기들 (하지만 아래 의 명령어 섹션 참조)은 GitHub 또는 BitBucket (또는 기타)에서 파일의 줄 번호 또는 범위에 대한 링크를 지원합니다. 짧은 목록은 다음과 같습니다.
README.md
특정 라인 번호의 코드에 GitHub 리포지토리 에 연결하는 방법과 관련
세 가지 경우가 있습니다.
우리는 (custom commit )에 연결할 수 있습니다
그러나 링크는 항상 이전 파일 버전에 연결되며 마스터 브랜치에는 새로운 업데이트가 포함되지 않습니다. 예:
https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
(마스터 브랜치 )와 같이 ( 커스텀 브랜치 )에 연결할 수 있습니다 . 그러나 링크는 항상 새로운 업데이트를 포함하는 최신 파일 버전으로 연결됩니다. 새로운 업데이트로 인해 링크가 잘못된 업무 라인 번호를 가리킬 수 있습니다. 예:
https://github.com/username/projectname/blob/master/file.txt#L10
GitHub는 다음과 같은 비즈니스 문제로 인해 (사용자 지정 커밋) 또는 (마스터 브랜치)로 파일에 자동 링크 할 수 없습니다.
풀 요청의 라인.
https://github.com/foo/bar/pull/90/files#diff-ce6bf647d5a531e54ef0502c7fe799deR27
https://github.com/foo/bar/pull/
90 <- PR number
/files#diff-
ce6bf647d5a531e54ef0502c7fe799de <- MD5 has of file name from repo root
R <- Which side of the diff to reference (merge-base or head). Can be L or R.
27 <- Line number
L과 R이 올바른 한 줄로 이동합니다. L 또는 RI 를 방문 할 수있는 방법이 있는지 잘 모르겠습니다 . PR에서 줄을 추가하면 반드시 사용해야 R
합니다. 줄을 제거하면를 사용해야합니다 L
.