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

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

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



답변

줄 번호에 연결하지 마십시오! 표준 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은 여전히 ​​예상대로 작동합니다.


답변

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

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

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

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

답변

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

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

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

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


답변

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

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

참고 문헌 :

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


답변

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

원자

GitHub에서 열기

이맥스

자식 링크

숭고한 텍스트

GitLink

정력

gitlink-vim


명령

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

답변

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는 다음과 같은 비즈니스 문제로 인해 (사용자 지정 커밋) 또는 (마스터 브랜치)로 파일에 자동 링크 할 수 없습니다.

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

답변

풀 요청의 라인.

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 생성