IT story

GitHub 프로젝트에서 특정 커밋을 얻는 방법

hot-time 2020. 6. 25. 07:49
반응형

GitHub 프로젝트에서 특정 커밋을 얻는 방법


GitHub 에서 Facebook API를 다운로드해야합니다 . 일반적으로 최신 소스 코드를 다운로드하려면 '다운로드'탭을 클릭하면됩니다.이 경우 이전 커밋이 필요합니다. 91f256424531030a454548693c3a6ca49ca3f35a 이지만 커밋에서 전체 프로젝트를 가져 오는 방법을 모르겠습니다 ...

누군가이 작업을 수행하는 방법을 알려주십시오.

(BTW, 맥에서 메신저. 그것이 어떤 차이가 있는지 모르겠다).


먼저 git을 사용하여 저장소를 복제하십시오.

git clone git://github.com/facebook/facebook-ios-sdk.git

리포지토리의 전체 기록이 다운로드되므로 모든 버전으로 전환 할 수 있습니다. 다음으로 새로 복제 된 저장소로 변경하십시오.

cd facebook-ios-sdk

...를 사용 git checkout <COMMIT>하여 올바른 커밋으로 변경하십시오.

git checkout 91f25642453

더 이상 지점에 있지 않고 특정 버전으로 직접 전환했기 때문에 경고가 표시됩니다. (이를 "분리 된 HEAD"상태라고합니다.)이 SDK를 적극적으로 개발하지 않고 사용하려는 것처럼 들리므로, 관심이 없다면 걱정할 필요가 없습니다. git 작동 방식에 대해 자세히 알아보십시오.


이 질문을 게시했을 때 거기에 있었는지 모르겠지만 커밋을 다운로드하는 가장 쉽고 쉬운 방법 은 저장소를 볼 때 커밋을 클릭 하는 것입니다. 대신 커밋 이름을 클릭의 그런 다음을 클릭합니다 역사의이 시점에서 찾아보기 저장소 와 버튼 <> 커밋 이름 / 메시지의 오른쪽 기호, 마지막에 다운로드 우편 클릭 할 때 오는 버튼 복제 또는 다운로드 버튼.

도움이 되길 바랍니다.


Sivan의 답변 (gif) 여기에 이미지 설명을 입력하십시오

1. github에서 커밋을 클릭하십시오.

2. 각 커밋의 오른쪽에서 코드 찾아보기를 선택하십시오.

3. zip 다운로드를 클릭하면 커밋 시점에 소스 코드가 다운로드됩니다.


잃어버린 커밋을 복구하는 가장 쉬운 방법은 (github에만 존재하며 로컬이 아닌) 커밋을 포함하는 새 분기를 만드는 것입니다.

  1. 커밋을 열어 두십시오 (url : github.com/org/repo/commit/long-commit-sha)
  2. 오른쪽 상단의 "파일 찾아보기"를 클릭하십시오
  3. 왼쪽 상단의 '나무 : 짧음 ...'드롭 다운을 클릭하십시오.
  4. 새로운 지점 이름을 입력하십시오
  5. git pull 새로운 지점을 로컬로

7 자리 SHA1 짧은 양식을 사용하여 커밋을 다운로드하려면 다음을 수행하십시오.

작업 예 :

https://github.com/python/cpython/archive/31af650.zip  

기술:

 `https://github.com/username/projectname/archive/commitshakey.zip`

긴 해시 키가 있으면 31af650ee25f65794b75d4dfefed6fe4758781c1처음 7자를 가져옵니다 31af650. GitHub의 기본값입니다.


허용 된 답변 외에 :

제안 된 명령 "git checkout hash " 를 사용해야하는 해시를 보려면을 사용할 수 있습니다 git log. 그러나 필요한 것에 따라 해시를 복사 / 붙여 넣기하는 것보다 쉬운 방법이 있습니다.

git log --oneline더 많은 압축 메시지 형식으로 많은 커밋 메시지를 읽는 데 사용할 수 있습니다 .

최소한의 정보와 부분적으로 보이는 해시 만있는 커밋의 한 줄 목록을 볼 수 있습니다.

hash111 (HEAD -> master, origin/master, origin/HEAD)
hash222 last commit
hash333 I want this one
hash444 did something
....

원하는 경우 last commit사용할 수 있습니다 git checkout master^. 마스터 전에^ 커밋을 제공합니다 . 그래서 .hash222

n 번째 마지막 커밋을 원하면을 사용할 수 있습니다 git checkout master~n. 예를 들어,를 사용 git checkout master~2하면 commit이 제공 hash333됩니다.


질문 제목이 모호합니다.


If you want to go with any certain commit or want to code of any certain commit then you can use below command:

git checkout <BRANCH_NAME>
git reset --hard  <commit ID which code you want>
git push --force

Example:

 git reset --hard fbee9dd 
 git push --force

참고URL : https://stackoverflow.com/questions/7832770/how-to-get-certain-commit-from-github-project

반응형