Advertisement

[5분 따라하기] git으로 undo하기(remote편)

Jay Park
CTO at EX-EM
May. 16, 2020
Advertisement

More Related Content

Advertisement
Advertisement

[5분 따라하기] git으로 undo하기(remote편)

  1. [5분 따라하기] git으로 undo하기(remote편) 박재호(jrogue@gmail.com)
  2. 참고 자료 • <컴퓨터 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
  3. 오늘 소개할 내용 • git을 사용하다 보면 실수할 때가 있기 마련이다. • 시나리오 1: git add를 했는데, 불필요한 파일이 포함되었어요. add를 취소 할 수 없을까요? (지난 시간) • 시나리오 2: git commit을 했는데, 불필요한 파일이 포함되었어요. 커밋을 취소할 수 없을까요?(지난 시간) • 시나리오 3: git push를 했는데, 불필요한 파일이 포함되었어요. 푸쉬를 취 소할 수 없을까요?(이번 시간)
  4. 몇 가지 힌트 • git에서 HEAD 관리 • HEAD가 가리키는 커밋이 바뀔 때마다 git은 자동으로 해당 커밋이 무엇인 지 기록 • 새로 커밋하거나 브랜치를 바꿀 때 이런 기록을 reflog에 남기게 됨 • 응용: 마스터 브랜치를 강제로 hard reset한 경우 어떻게 할까? → 답: reflog에서 해당하는 HEAD의 번호(HEAD@{번호})를 찾아 브랜치를 만들 어 복구함 • git에서 원격 저장소에 push • 지역 브랜치를 원격 서버로 전송 • 강제로 덮어쓰려면? git push origin할 때 브랜치 이름 앞에 +기호를 붙임
  5. 스크립트 $ git clone <여러분의_깃허브_프로젝트> $ cd sample $ ls $ touch secret.key $ git add . $ git status $ git commit -m "add secret.key!" $ git push $ git status $ git reset HEAD^ $ git reflog $ git reset HEAD@{reflog 결과에서 확인한 번호} $ git reflog $ git commit -m “fix wrong push” $ git log $ git push $ git push origin +master 명령행에서 직접 실행
  6. 보면서 따라해봅시다~~~ • https://asciinema.org/a/329715
Advertisement