github의 특정 줄 번호에 연결하는 방법


371

github 저장소의 파일에서 특정 줄 번호에 연결할 수 있다는 것을 알고 있습니다 (이전에 본 적이 있습니다) ...

누군가이 작업을 수행하는 방법을 말해 줄 수 있습니까?

답변:


587

줄 번호에 연결하지 마십시오! 표준 URL 도 사용하십시오 . 그렇지 않으면 해당 파일이 업데이트 될 때 잘못된 행을 가리키는 URL이 생깁니다!

올바른 줄을 영구적으로 연결하는 방법 :

원하는 줄 번호 (예 : 줄 18)를 클릭하면 브라우저의 URL #L18이 끝에 고정됩니다. 문자 그대로 18코드 줄이 아닌 왼쪽을 클릭하십시오 . 다음과 같습니다 :

선택된 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의 답변공감 하십시오 .

GitHub 퍼머 링크 메뉴

2016 년 3 월 25 일 업데이트 : 적절한 사례 — 위의 예에서는 URL의 "README"파일을 참조했습니다. 비정규 URL 은이 답변이 작성되었을 때 실제로 작동했습니다. 그러나 이제이 URL README은 (으)로 이동 한 이후 더 이상 작동하지 않습니다 README.md. 그러나 SHA 해시가있는 표준 URL은 여전히 ​​예상대로 작동합니다.


3
y 키는 나를 위해 아무것도하지 않습니다. 이것이 변경 되었습니까? Chrome 개발자 채널에서 시도 중입니다.
k0pernikus

4
아직 문서가 여전히 사용에 말 ... 작동 y키도 ... help.github.com/articles/getting-permanent-links-to-files
broc.seib

2
블록의 두 번째 줄을 Shift + 클릭하는 것이 좋습니다. 두 번째 줄을 추가하기 위해 수동으로 URL을 편집하고있었습니다 :). 그러나 후속 질문, 2, 4 행, 17-22 행을 강조 표시하려면 어떻게해야합니까? 가능합니까 아니면 한 번에 하나의 블록 만 강조 표시 할 수 있습니까?
penchant

3
@ tr3buchet 방금 github 지원을 핑했습니다. 현재 불가능합니다. 그들은 그 기능을 고려할 것이지만 약속은 없다고 말했다. 나는 형식이와 같고 L18-L20,L29사람이 CTRL클릭하여 연속적이지 않은 줄을 추가 할 수 있다고 제안했습니다 . 나는 당신의 아이디어가 큰 제안이며 매우 유용하다고 생각합니다.
broc.seib

2
어떤 경우 README이다 README.md?
zwcloud

56

@ broc.seib는 정교한 대답을 가지고 , 난 그냥 대신 누르는 것을 지적 할 y영구 링크를 얻을, github에 지금 당신이 그것을 달성하는 데 도움이 매우 간단한 UI를 가지고

  1. 줄 번호를 클릭하여 줄을 선택하거나 홀드 홀드하여 여러 줄을 선택하십시오 shift(파일 탐색기에서 여러 폴더를 선택하는 방법과 동일) 여기에 이미지 설명을 입력하십시오

  2. 선택한 첫 번째 줄의 오른쪽 모서리에서 펼치고 ...클릭하십시오.copy permalink 여기에 이미지 설명을 입력하십시오

  3. 즉, 선택된 줄과 커밋 해시가 있는 링크가 클립 보드에 복사됩니다 . https://github.com/python/cpython/blob/c82b7f332aff606af6c9c163da75f1e86514125e/Doc/Makefile#L1-L4

18

줄 번호를 클릭 한 다음 주소 표시 줄에서 링크를 복사하여 붙여 넣습니다. 범위를 선택하려면 숫자를 클릭 한 다음 나중에 숫자를 Shift 클릭하십시오.

다른 방법으로, 링크는 #L<number>파일에 대한 링크를 사용하여 특정 행 번호 끝에 추가하는 비교적 간단한 형식 입니다. 다음은 git저장소의 세 번째 줄에 대한 링크입니다 README.

https://github.com/git/git/blob/master/README#L3

강조 표시된 줄과 수정 된 주소 줄이있는 스크린 샷


3
파일이 변경 되더라도이 URL은 여전히 ​​새로운 코드를 포함 할 수있는 3 행을 가리키며 원하는 것이 아닐 수도 있습니다. 영구적 인 링크를 생성하는 다른 솔루션을 제공했습니다. 힌트 : 그냥 누르십시오 y. ;-)
broc.seib

4
링크가 끊어짐
pmrotule

12

코드 스 니펫에 대한 영구 링크가 풀 요청 주석 필드에 붙여 넣기

퍼머 링크를 사용하여 이슈, PR 등에 코드 스 니펫을 포함시킬 수 있습니다.

참고 문헌 :

https://help.github.com/en/articles/creating-a-permanent-link-to-a-code-snippet


2
꽤 좋은 gif!
Giovanni Benussi

주제를 벗어난 것은 유감이지만, 그것을 만들기 위해 어떤 도구를 사용합니까?
Giovanni Benussi

@GiovanniBenussi 그것은 GitHub에서 온 것입니다. 링크를 참조하십시오.
Gayan Weerakutti

나는 GIF에 대한 의미 - P 하하하
조반니 Benussi

1
@GiovanniBenussi reversiblean이 무엇을 사용했는지 모르지만 가끔 "screentogif"라는 멋진 도구를 사용하여 이와 같은 gif를 만듭니다. github.com/NickeManarin/ScreenToGif
SamGamgee

6

많은 편집기들 (하지만 아래 의 명령어 섹션 참조)은 GitHub 또는 BitBucket (또는 기타)에서 파일의 줄 번호 또는 범위에 대한 링크를 지원합니다. 짧은 목록은 다음과 같습니다.

원자

GitHub에서 열기

이맥스

자식 링크

숭고한 텍스트

GitLink

정력

gitlink-vim


명령

  • git-link -git 객체에 대한 repo-browser 링크를 얻기위한 Git 부속 명령
  • ghwd- 쉘의 현재 브랜치 및 작업 디렉토리와 일치하는 github URL을 엽니 다

0

README.md특정 라인 번호의 코드에 GitHub 리포지토리 에 연결하는 방법과 관련

세 가지 경우가 있습니다.

  1. 우리는 (custom commit )에 연결할 수 있습니다

    그러나 링크는 항상 이전 파일 버전에 연결되며 마스터 브랜치에는 새로운 업데이트가 포함되지 않습니다. 예:

    https://github.com/username/projectname/blob/b8d94367354011a0470f1b73c8f135f095e28dd4/file.txt#L10
    
  2. (마스터 브랜치 )와 같이 ( 커스텀 브랜치 )에 연결할 수 있습니다 . 그러나 링크는 항상 새로운 업데이트를 포함하는 최신 파일 버전으로 연결됩니다. 새로운 업데이트로 인해 링크가 잘못된 업무 라인 번호를 가리킬 수 있습니다. 예:

    https://github.com/username/projectname/blob/master/file.txt#L10
    
  3. GitHub는 다음과 같은 비즈니스 문제로 인해 (사용자 지정 커밋) 또는 (마스터 브랜치)로 파일에 자동 링크 할 수 없습니다.

    • 라인 비즈니스 의미, 새 파일에 링크
    • 변경할 수있는 대상 강조 코드의 길이

0

풀 요청의 라인.

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.

From : Github Pull Request에 라인 포인터 URL 생성

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.