[5분 따라하기]
git으로 undo하기(remote편)
박재호(jrogue@gmail.com)
참고 자료
• <컴퓨터 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할 때 브랜치 이름 앞에 +기호를 붙임
스크립트
$ 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
명령행에서 직접 실행
보면서 따라해봅시다~~~
• https://asciinema.org/a/329715

More Related Content

PDF
[5분 따라하기] git으로 undo하기(local편)
PDF
2020년 5월 2일 개발 이야기 정리
PDF
2020년 4월 25일 개발 이야기 정리
PDF
[5분 따라하기] git 다중 사용자 신원 설정 방법
PDF
2020년 6월 6일 개발 이야기 정리
PDF
2020년 5월 16일 개발 이야기 정리
PDF
[5분 따라하기] 전화번호와 이메일 정규표현식
PDF
[5분 따라하기] bash에서 파일 확장자 변경
[5분 따라하기] git으로 undo하기(local편)
2020년 5월 2일 개발 이야기 정리
2020년 4월 25일 개발 이야기 정리
[5분 따라하기] git 다중 사용자 신원 설정 방법
2020년 6월 6일 개발 이야기 정리
2020년 5월 16일 개발 이야기 정리
[5분 따라하기] 전화번호와 이메일 정규표현식
[5분 따라하기] bash에서 파일 확장자 변경

What's hot (20)

PDF
[5분 따라하기] bash 타임아웃 패턴
PDF
2020년 10월 10일 개발자 이야기
PDF
2020년 4월 18일 개발 이야기 정리
PDF
[5분 따라하기] 3차원 지구본을 콘솔에 그리기
PDF
[5분 따라하기] 3차원 도넛을 콘솔에 그리기
PDF
2020년 8월 1일 개발 이야기 정리
PDF
2020년 5월 9일 개발 이야기 정리
PDF
2021년 3월 20일 개발자 이야기
PDF
[설치의 정석] EC2에서 워드프레스 설치하기
PDF
[5분 따라하기] paste로 파일 두 개 join하기
PDF
2020년 9월 12일 개발 이야기 정리
PDF
2020년 9월 19일 개발자 이야기
PDF
2021년 3월 13일 개발자 이야기
PDF
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
PDF
2020년 9월 26일 개발자 이야기
PDF
2020년 2월 스택오버플로 개발자 설문 결과
PDF
2020년 7월 4일 개발 이야기 정리
PDF
2020년 8월 30일 개발 이야기 정리
PDF
2020년 6월 13일 개발 이야기 정리
PDF
2020년 4월 4일 개발 이야기 정리
[5분 따라하기] bash 타임아웃 패턴
2020년 10월 10일 개발자 이야기
2020년 4월 18일 개발 이야기 정리
[5분 따라하기] 3차원 지구본을 콘솔에 그리기
[5분 따라하기] 3차원 도넛을 콘솔에 그리기
2020년 8월 1일 개발 이야기 정리
2020년 5월 9일 개발 이야기 정리
2021년 3월 20일 개발자 이야기
[설치의 정석] EC2에서 워드프레스 설치하기
[5분 따라하기] paste로 파일 두 개 join하기
2020년 9월 12일 개발 이야기 정리
2020년 9월 19일 개발자 이야기
2021년 3월 13일 개발자 이야기
[설치의 정석] EC2에서 Java-Apache-Tomcat 설치하기
2020년 9월 26일 개발자 이야기
2020년 2월 스택오버플로 개발자 설문 결과
2020년 7월 4일 개발 이야기 정리
2020년 8월 30일 개발 이야기 정리
2020년 6월 13일 개발 이야기 정리
2020년 4월 4일 개발 이야기 정리
Ad

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

PDF
[NDC16] Effective Git
PDF
소스트리(SourceTree)로 배우는 Git 사용법
PPTX
Git lecture2
PDF
Git 코드랩 스터디 2
PPTX
Git 기본
PDF
Git을 조금 더 알아보자!
PDF
git-basic-commands
PDF
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
PPTX
Git lecture1
PDF
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
PPTX
오픈소스 공헌을 위한 필수 지식
PPTX
PPTX
PPTX
Advanced git
PPTX
Git 사용 가이드
PPTX
Git command
PDF
Git tutorials
PDF
Git Tutorial
PPTX
Git 꿀팁
PDF
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
[NDC16] Effective Git
소스트리(SourceTree)로 배우는 Git 사용법
Git lecture2
Git 코드랩 스터디 2
Git 기본
Git을 조금 더 알아보자!
git-basic-commands
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기
Git lecture1
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
오픈소스 공헌을 위한 필수 지식
Advanced git
Git 사용 가이드
Git command
Git tutorials
Git Tutorial
Git 꿀팁
[T아카데미] 비개발자를 위한 Git과 Github Page 블로그 만들기
Ad

More from Jay Park (20)

PDF
[독서광] 코드 넘어 회사보다 오래 남을 개발자
PDF
(독서광) 윌 라슨의 엔지니어링 리더십 - 테크 리더를 위한 성공 전략
PDF
[독서광] 모던 소프트웨어 엔지니어링 - 소프트웨어 개발의 복잡함과 난해함 속에서 길을 찾으려는 엔지니어를 위한...
PDF
(독서광) Azure OpenAI로 ChatGPT와 LLM 시스템 쉽고 빠르게 구축하기
PDF
(독서광) 이펙티브 소프트웨어 설계 - 실수와 트레이드오프로부터 배우는 현명한 소프트웨어 설계 가이드
PDF
(독서광) 지능의 기원 - 우리의 뇌 그리고 AI를 만든 다섯 번의 혁신
PDF
(독서광) 린 프로덕트 플레이북: 시장에서 살아남는 프로덕트를 개발하는 6단계 프로세스
PDF
(OkdevTV) 2025년 1월 8일 개발 이야기
PDF
(독서광) 2024년 12월 모두를 위한 소프트웨어 보안 설계와 구현
PDF
(OkdevTV) 2024년 12월 18일 개발 이야기
PDF
(OKdevTV) 2024년 12월 5일 개발 이야기
PDF
(독서광) 2024년 11월 선택 설계자들 - 어떻게 함정을 피하고 탁월한 결정을 내릴 것인가
PDF
(OkdevTV) 2024년 10월 30일 개발 이야기
PDF
(OkdevTV) 2024년 10월 16일 개발 이야기
PDF
(독서광) 갈대 속의 영원 - 저항하고 꿈꾸고 연결하는 발명품, 책의 모험
PDF
(OkdevTV) 2024년 10월 2일 개발 이야기
PDF
(OkdevTV) 2024년 9월 2일 개발 이야기 - 좋은 리팩토링 vs 나쁜 리팩토링
PDF
[OkdevTV] 2024년 9월 2일 개발 이야기
PDF
[독서광] 프리세일즈 (Technical Presales) - 고객과 기업을 잇는 기술 대표
PDF
[OKdevTV] 2024년 8월 21일 개발 이야기
[독서광] 코드 넘어 회사보다 오래 남을 개발자
(독서광) 윌 라슨의 엔지니어링 리더십 - 테크 리더를 위한 성공 전략
[독서광] 모던 소프트웨어 엔지니어링 - 소프트웨어 개발의 복잡함과 난해함 속에서 길을 찾으려는 엔지니어를 위한...
(독서광) Azure OpenAI로 ChatGPT와 LLM 시스템 쉽고 빠르게 구축하기
(독서광) 이펙티브 소프트웨어 설계 - 실수와 트레이드오프로부터 배우는 현명한 소프트웨어 설계 가이드
(독서광) 지능의 기원 - 우리의 뇌 그리고 AI를 만든 다섯 번의 혁신
(독서광) 린 프로덕트 플레이북: 시장에서 살아남는 프로덕트를 개발하는 6단계 프로세스
(OkdevTV) 2025년 1월 8일 개발 이야기
(독서광) 2024년 12월 모두를 위한 소프트웨어 보안 설계와 구현
(OkdevTV) 2024년 12월 18일 개발 이야기
(OKdevTV) 2024년 12월 5일 개발 이야기
(독서광) 2024년 11월 선택 설계자들 - 어떻게 함정을 피하고 탁월한 결정을 내릴 것인가
(OkdevTV) 2024년 10월 30일 개발 이야기
(OkdevTV) 2024년 10월 16일 개발 이야기
(독서광) 갈대 속의 영원 - 저항하고 꿈꾸고 연결하는 발명품, 책의 모험
(OkdevTV) 2024년 10월 2일 개발 이야기
(OkdevTV) 2024년 9월 2일 개발 이야기 - 좋은 리팩토링 vs 나쁜 리팩토링
[OkdevTV] 2024년 9월 2일 개발 이야기
[독서광] 프리세일즈 (Technical Presales) - 고객과 기업을 잇는 기술 대표
[OKdevTV] 2024년 8월 21일 개발 이야기

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

  • 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 명령행에서 직접 실행