참고 자료
• <컴퓨터 vs 책> 블로그
• http://jhrogue.blogspot.com/
• OKdevTV 유튜브 방송
• 오늘자 방송:
https://www.youtube.com/watch?v=C6AgAOcH9LE&list=PLdntWJk2tJPL
KNNYBVCxnde2PEB6dzbSL&index=9
• 5분 따라하기 리스트:
• https://www.youtube.com/playlist?list=PLdntWJk2tJPLKNNYBVCxnde2PEB6dzbSL
• 슬라이드 셰어
• https://www.slideshare.net/jrogue/presentations
• ASCIINEMA
• https://asciinema.org/~jrogue
오늘 소개할 내용
• git을 사용하다 보면 실수할 때가 있기 마련이다.
• 시나리오 1: git add를 했는데, 불필요한 파일이 포함되었어요. add를 취소
할 수 없을까요? (지난 시간)
• 시나리오 2: git commit을 했는데, 불필요한 파일이 포함되었어요. 커밋을
취소할 수 없을까요?(지난 시간)
• 시나리오 3: git push를 했는데, 불필요한 파일이 포함되었어요. 푸쉬를 취
소할 수 없을까요?(이번 시간)
몇 가지 힌트
• git에서 HEAD 관리
• HEAD가 가리키는 커밋이 바뀔 때마다 git은 자동으로 해당 커밋이 무엇인
지 기록
• 새로 커밋하거나 브랜치를 바꿀 때 이런 기록을 reflog에 남기게 됨
• 응용: 마스터 브랜치를 강제로 hard reset한 경우 어떻게 할까? → 답:
reflog에서 해당하는 HEAD의 번호(HEAD@{번호})를 찾아 브랜치를 만들
어 복구함
• git에서 원격 저장소에 push
• 지역 브랜치를 원격 서버로 전송
• 강제로 덮어쓰려면? git push origin할 때 브랜치 이름 앞에 +기호를 붙임