반응형
Introduction to Git and GitHub
Google에서 제공합니다. In this course, you’ll learn how to keep track of the different versions of your code and configuration files using a popular ... 무료로 등록하십시오.
www.coursera.org
변경 사항 되돌리기
git checkout
- 스테이징되지 않은 파일의 변경사항을 되돌릴 수 있다.
- 파일을 마지막 스토리지 스냅샷으로 되돌린다.
git reset
- 스테이징된 변경 사항을 되돌려야 하는 경우 사용할 수 있다.
- add의 반대 기능
- add : 변경 사항을 스테이징 영역에 추가
- reset : 스테이징 영역에서 변경 사항 제거
커밋 수정하기
git commit --ammend
- 현재 스테이징 영역에 있는 내용을 사용하여 이전 커밋을 덮어쓰는 커밋 워크플로우를 실행한다.
- 기존의 마지막 커밋을 수정하는데 사용한다.
- 누락된 파일 추가 or 커밋 메시지 수정하는 경우
- 공개되었거나 공유된 레포지토리에 푸시된 커밋은 --ammend를 사용하여 수정X
- Git 히스토리가 재작성되어 이전 커밋이 제거되고 수정된 커밋으로 대체되기 때문에 혼란을 초래할 수 있다.
git revert
단순히 변경 사항을 되돌리는 것이 아니라, 잘못된 커밋에서 이루어진 모든 변경 사항을 반대로 취소하는 커밋 생성
- 변경 사항을 되돌린 효과를 얻을 수 있다.
- 프로젝트의 커밋 히스토리는 일관성을 유지하며 정확히 무슨 일이 일어났는지 기록을 남길 수 있다.
- head를 사용하여 최신 커밋으로 되돌릴 수 있다.
- head를 현재 커밋의 스냅샷을 가리키는 포인터로 생각할 수 있다.
git revert head
Revert "Add call to disk full function"
This reverts commit <commit-hash>.
Reason: Called an undefined function.
commit id
- git log 명령어를 실행할 때 commit 뒤에 나오는 복잡한 문자열
- SHA1 알고리즘을 사용하여 계산된 해시
- 입력한 데이터로부터 40자 길이의 문자열을 생성한다.
- 커밋 메시지, 날자, 저자 등을 포함하여 커밋을 구성하는 모든 정보에서 해시가 계산된다.
- 두 개의 다른 커밋이 동일한 해시를 생성하는 경우, 충돌이라고 한다.
git show 30e70712882267ca2dd749acfa02ea3aacfd0b24
- 커밋 id를 활용하여 특정 커밋을 확인할 수 있다.
- 보통 처음 4~8글자 정도의 커밋 id를 사용하면 특정 커밋을 식별하는데 문제가 없다.
git revert 30e7
- 최근 커밋이 아닌 커밋을 롤백할 수 있다.
반응형
'Git&GitHub' 카테고리의 다른 글
[Git] Git Commands (0) | 2024.07.09 |
---|---|
Introduction to Git and GitHub - 모듈 2(Branching and Merging) (0) | 2024.06.24 |
Introduction to Git and GitHub - 모듈 2(Advanced Git interaction) (0) | 2024.06.24 |
Introduction to Git and GitHub - 모듈 1(Using Git) (0) | 2024.06.23 |
Introduction to Git and GitHub - 모듈 1(Version Control Systems) (0) | 2024.06.23 |