처음 공부해본 GIT - part 2 (2024. 4. 26.)
History
지난 시간에 git의 기초에 대해 배웠다.
오늘은 git 기초 강의를 끝장을 내려고 했지만... 실습(적용)과 응용을 하는데 시간이 많이 들어 git 기초강의 끝장내기는 추후 다시 보충해보자.
(그나저나 나는 언제 잔디 심을 수 있는 거야 증말...ㅋㅋㅋ 기초강의 끝내기가 무섭게 매일 같이 잔디 심겠어!)
#커밋 메시지 읽기

- 커밋해시(Commit hash): 커밋 기록에 대한 고유 식별자
- 브랜치명(Branch): 기존 저장소에서 분기된 저장소의 복사본인 '브랜치'의 이름
- HEAD: 현재 작업 중인 브랜치를 가리키는 포인터(참조자)

- 노란색 글자 commit 168… => 커밋 고유 (저장)주소
- 커밋 고유 주소는 명령어 ‘git log –oneline’에서 6글자로 요약되어 나옴
#git log 옵션 & 커밋 이동 명령어
git log -p => 확인 후 ‘q’ 누르기
커밋의 변경사항까지 함께 출력하는 옵션
cf. ‘.p’는 patch의 줄임말로 ‘부분, 조각, 덧대다’ 뜻
cf. ‘q’는 quit의 줄임말로 ‘그만두다’ 뜻
git log --oneline
각 커밋을 한 줄로 요약헤 출력하는 옵션
(git log 가 너무 길 경우 사용!)
git checkout 커밋해시
문서 내용을 특정 커밋의 내용으로 되돌리는 깃 명령어
git reflog
HEAD 포인터의 참조 이력을 출력하는 깃 명령어
실습 흔적 ✍️
실습 전 커밋 기록 확인

실습 1 : git log -p => q


실습 2 : git log --oneline

실습 3 : git checkout 커밋해시
커밋 “개인프로젝트(테스트)” 시점으로(7369d63) 되돌아갔더니
5_PJ/1_movie 폴더 안 모든 것이 커밋 7369d63 시점으로 돌아간 것을 확인!

실습 4 : git reflog
HEAD 포인터의 참조 이력을 살펴보았다
두번째 줄 ‘checkout: moving from main to 7369d63’ 이동한 이력 확인
== > 다시 원상태로 되돌아가자 == > 이때도 git checkout!

# 실수에 대응하기

1. 스테이징 실수로 되돌리기
git revert 파일명
특정 커밋의 수정 사항을 되돌리되, ‘커밋 수정 사항을 되돌렸다’는 사실을 이력으로 남기는 명령
2. 커밋 실수를 되돌리기
git reset 커밋해시 --옵션(soft/mixed/hard)
git add/commit 작업을 취소, 즉 워킹/스테이징/리포지토리 영역으로 되돌아가겠다는 명령어
cf. 이때 커밋해시는 되돌리고 싶은 시점이다
3. 커밋 실수를 되돌리되 이를 기록하기
git revert 커밋해시
cf. 이때 커밋해시는 '~로부터 되돌리겠다'는 시점이다
실습 흔적 ✍️
실습 1 : git reset 커밋해시 --soft / --mixed/ --hard
(순서대로 실습했고 각각 status가 어떻게 변하는 관찰했다)


실습 2 : git revert 커밋해시(~로부터 되돌리겠다)


#vim (더이상 당황하지 말자🥵)
1. 일반모드 (전환방법: #+i)
2. 입력모드 (전환방법: Esc)
3. 명령모드 (입력모드에서 ‘:’ 치기)
- 저장하기 ':w' 치기
- 종료하기 ':q' 치기
- 저장+종료하기 ':wq' 치기
- 강제 종료하기 ':q!' 치기
- 강제 저장+종료하기 ':wq!' 치기
출처: https://zeddios.tistory.com/122
(왕초보를 위한 vim 사용방법
오늘의 회고
하루가 순식간에 사라졌다.
오전은 코딩테스트, 오후는 git기초강의...
개인과제 하면서 튜터님한테 질문하려고 했는데.. 큰일났다...!!