본문 바로가기
개발/Git, GitHub

깃허브 - RESTful API로 파일의 SHA 구하기 (Find Github Files's SHA blob)

by 피로물든딸기 2023. 6. 23.
반응형

깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기)

 

Git / GitHub 전체 링크

 

참고

- 개인 토큰 발급 받기

 

- RESTful API로 파일의 SHA 구하기

- RESTful API로 브랜치 SHA 구하기

- RESTful API로 파일 읽기

- RESTful API로 파일 쓰기

- 깃허브 RESTful API로 파일 편집기 만들기

 

깃허브는 파일이나 디렉터리의 변경 사항을 추적할 때 식별자로 SHA를 사용한다.

 

아래 owner : bloodstrawberry, repo : auto-test, file : test/apitest.txt 의 SHA를 구해보자.

https://github.com/bloodstrawberry/auto-test/blob/main/test/apitest.txt

 

요청해야하는 RESTful API는 다음과 같다.

https://api.github.com/repos/{owner}/{repo}/contents/{path}

 

따라서 위 형식대로 맞춰주면 아래의 RESTful API가 된다.

https://api.github.com/repos/bloodstrawberry/auto-test/contents/test/apitest.txt

 

SHA는 파일이 변경되면 같이 변경되므로, 위의 그림과 일치하지 않을 수 있다.

 

리액트에서 사용한다면 다음과 같이 나타낼 수 있다.

  const getSHA = async (octokit) => {
    const result = await octokit.request(
      `GET /repos/bloodstrawberry/${repo}/contents/${path}`,
      {
        owner: "bloodstrawberry",
        repo: `${repo}`,
        path: `${path}`,
      }
    );

    return result.data.sha;
  };
반응형

댓글