스택큐힙리스트

html>문제 :GitHub에서 가져온 커밋을 어떻게 제거할 수 있을까요? [중복됨]</html 본문

카테고리 없음

html>문제 :GitHub에서 가져온 커밋을 어떻게 제거할 수 있을까요? [중복됨]</html

스택큐힙리스트 2024. 1. 17. 12:39
반응형



나는 GitHub에 실수로 커밋을 푸시했습니다.


이 커밋을 제거할 수 있을까요?


제가 이 커밋 이전으로 GitHub 저장소를 되돌리고 싶습니다.

답변 1


참고: 아래 댓글에서 git rebase -i에 대한 대안을 찾아보세요.


git reset --soft HEAD^



먼저 로컬 저장소에서 커밋을 제거하세요. 이는 git rebase -i를 사용하여 수행할 수 있습니다. 예를 들어, 마지막 커밋인 경우, git rebase -i HEAD~2를 실행하고 팝업된 편집기 창에서 두 번째 줄을 삭제하세요.


그런 다음, git push origin +branchName --force를 사용하여 강제로 GitHub에 푸시하세요.


더 자세한 정보는 Git Magic Chapter 5: Lessons of History - And Then Some를 참조하세요 (더 오래된 커밋을 제거하려는 경우).


아, 그리고 작업 트리가 더러운 경우, 먼저 git stash를 실행한 다음 git stash apply를 실행해야 합니다.


답변 2

탐색 엔진 최적화(SEO)에 주의하여, 깃허브에서 커밋(commit)을 삭제하는 방법에 대해 한국어로 에세이를 작성해보겠습니다.
깃허브에서 커밋을 삭제하는 것은 버전 관리 시스템에서 필요한 작업 중 하나입니다. 커밋을 삭제하려면 깃허브에서 커맨드 라인(Command Line)이나 깃 클라이언트(Git Client)를 사용해야 합니다. 아래에 깃허브에서 커밋을 삭제하는 방법을 상세히 설명하겠습니다.
1. 먼저, 깃허브 웹사이트에 접속하여 해당 저장소(Repository)로 이동합니다.
2. 커밋을 삭제하려는 브랜치(Branch)로 이동합니다. 일반적으로 'master' 브랜치를 사용하므로, 'master'로 이동하도록 합니다.
3. 깃허브에서 커맨드 라인 도구를 사용하여 해당 로컬 저장소(Local Repository)의 커밋을 삭제합니다. 이를 위해 다음 명령어를 입력합니다:
```
git log
```
이 명령어는 로컬 저장소의 커밋 히스토리를 확인할 수 있습니다. 삭제하려는 커밋의 해시(Hash)를 확인합니다.
4. 삭제하려는 커밋의 해시를 사용하여 다음 명령어를 입력합니다:
```
git rebase -i 해시^
```
위 명령어에서 '해시'는 삭제하려는 커밋의 해시로 대체합니다. 이 명령어를 실행하면 인터랙티브 리베이스(Interactive Rebase) 모드로 진입하게 됩니다.
5. 편집기(Editor)가 열리면, 삭제하려는 커밋의 행을 삭제하거나 'pick' 명령어를 'drop'으로 변경합니다. 그리고 파일을 저장하고 종료합니다.
6. 커밋을 삭제한 후, 로컬 저장소의 브랜치와 원격 저장소(Remote Repository)를 동기화합니다. 이를 위해 아래 명령어를 입력합니다:
```
git push origin +master
```
이 명령어는 'master' 브랜치를 원격 저장소로 강제로 푸시(push)하는 명령어입니다.
7. 깃허브 웹사이트로 돌아가 커밋 히스토리를 확인하여 삭제된 커밋이 원격 저장소에 반영되었는지 확인합니다.
이렇게 깃허브에서 커밋을 삭제할 수 있습니다. 하지만, 주의할 점은 커밋을 삭제하기 전에 다른 사람들과 해당 커밋에 대한 커뮤니케이션을 제대로 진행하는 것입니다. 협업 프로젝트에서는 커밋 삭제가 프로젝트 전반에 영향을 미칠 수 있으므로, 삭제 작업에 앞서 팀의 의견을 충분히 고려하는 것이 중요합니다.
이상으로 깃허브에서 커밋을 삭제하는 방법에 대해 설명한 에세이를 마치도록 하겠습니다. 이 정보가 도움이 되길 바라며, 감사합니다.

반응형
Comments