ݺߣ

ݺߣShare a Scribd company logo
Git 과 GitHub 를 이용한
버전관리와 협업
2주차A - 비교하기와 되돌리기
한영빈(sukso96100@gmail.com)
비교하기
dif
git dif
git diff [--options] [--] [<path>…]
가장 최근 커밋 ~ 가장 최근 커밋 이후 수정 되었으나 Index에 추가되지 않은 파일
git dif --cached
git diff [--options] --cached [<commit>] [--] [<path>…]
가장 최근 커밋 ~ Index에 추가된 파일
git dif <commit>
git diff [--options] <commit> [--] [<path>…]
<commit> ~ 가장 최근 커밋 이후 수정 되었으나 Index에 추가되지 않은 파일
git dif <commit-1> <commit-2>
git diff [--options] <commit> [--] [<path>…]
<commit-1> ~ <commit-2>
단어 단위로 비교하기
--word-diff : 변경된 단어에 [-...-], {+...+} 를 감싸서 표시
--word-diff=color ( --color-words 와 동일) : 변경된 단어를 색상으로만 표시
커밋 로그 변경 내역까지 같이 보기
git log -p
커밋 로그가 나오는데, 각 커밋미다 diff 내용까지 같이 나옴.
되돌리기
--amend, checkout, reset, revert
--amend
--amend 옵션을 사용하여 가장 최근 커밋을 수정할 수 있음.
<사용 예시>
git add more-file
git commit --amend -m “edited commit”
checkout
어떤 파일이나 적업 디렉터리의 특정 시점에서의 상태를 확인 할 때 사용.
git checkout master : 작업 디렉터리를 master 브랜치의 가장 최근 시점으로
git checkout <commit> <file> : <file>을 <commit> 시점의 상태로
git checkout <commit> : 작업 디렉터리를 <commit> 시점의 상태로
checkout
git checkout hello.c a2sd6g8
a2sd6g8 a2sd6g8d6g8ej5 d6g8ej5
d6g8ej5 시점에서의 hello.c a2sd6g8 시점에서의 hello.c
reset - 변경사항 되돌리기(좀 위험한 방법)
git reset <file> : Index 에서 <file> 만 제외
git reset : Index 에 있는 모든 파일 제외
git reset <commit> : 가장 최근 커밋에서, <commit> 직전 까지의 커밋 모두 제거
git reset ORID_HEAD : reset 직전으로 되돌리기
→ --hard 옵션이 없으므로, 작업 디렉터리 상태는 그대로 유지됨.
git reset w7gg0em
w7gg0em
dj00ale
pqmfuxi
hlwm35s
reset --hard
git reset --hard : 작업 디렉터리 상태를 가장 최근 커밋 시점으로
git reset --hard <commit> : 가장 최근 커밋부터 <commit> 까지의 커밋 삭제,
그리고 작업 디렉터리 상태를 <commit> 바로 전 커밋의 시점으로
git reset --hard ORIG_HEAD : reset 직전으로 되돌리기
→ --hard 옵션 사용시, 작업 디렉터리 상태까지 지정한 커밋 시점 상태로 바뀜.
revert - 변경사항 되돌리기(안전한 방법 방법)
git revert <commit>
<commit> 과 완전히 반대되는 내용의 커밋을 새로 생성함
git revert 0467fsb
0467fsb skgimwf 73jgom9
Added hello.py
+ #hello.py
+ print “Hello”
Revert “Added hello.py”
- #hello.py
- print “Hello”
끝

More Related Content

What's hot (20)

Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
Ian Choi
Basic git-commands
Basic git-commandsBasic git-commands
Basic git-commands
insanehong Kim
Advanced git
Advanced gitAdvanced git
Advanced git
chanwoo Jeong
2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J
2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J
2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J
Andrew J. Kim
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용
환민 홍
Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
민태 김
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드
도형 임
오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식
Matthew (정재화)
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
sangyun han
버전관리시스템 종류와 소개
버전관리시스템 종류와 소개버전관리시스템 종류와 소개
버전관리시스템 종류와 소개
Jong-il Seok
[NDC16] Effective Git
[NDC16] Effective Git[NDC16] Effective Git
[NDC16] Effective Git
Chanwoong Kim
Git
GitGit
Git
Choonghyun Yang
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴
은아 정
Github 사용법
Github 사용법Github 사용법
Github 사용법
jong seok Kim
Git 기본
Git 기본Git 기본
Git 기본
HyunWook Kang
Git
GitGit
Git
Junyoung Lee
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)
Hyunjun Roh
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
sangyun han
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Junyoung Lee
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
민태 김
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
Ian Choi
2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J
2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J
2011년 KTH H3 컨퍼런스 Track B, 세션4 "Advanced Git" by A.J
Andrew J. Kim
Git의 개념과 사용
Git의 개념과 사용Git의 개념과 사용
Git의 개념과 사용
환민 홍
Git 사용 가이드
Git 사용 가이드Git 사용 가이드
Git 사용 가이드
도형 임
오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식오픈소스 공헌을 위한 필수 지식
오픈소스 공헌을 위한 필수 지식
Matthew (정재화)
Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
sangyun han
버전관리시스템 종류와 소개
버전관리시스템 종류와 소개버전관리시스템 종류와 소개
버전관리시스템 종류와 소개
Jong-il Seok
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴
은아 정
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)
Hyunjun Roh
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
sangyun han
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+githubGit 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Junyoung Lee
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
민태 김

Viewers also liked (14)

Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Youngbin Han
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Youngbin Han
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Youngbin Han
Node.js 런타임 버전 관리하기
Node.js 런타임 버전 관리하기Node.js 런타임 버전 관리하기
Node.js 런타임 버전 관리하기
Youngbin Han
ݺߣshare font test
ݺߣshare font testݺߣshare font test
ݺߣshare font test
Junyoung Lee
제2회 SSSCON - 웹해킹 스터디 현황
제2회 SSSCON - 웹해킹 스터디 현황제2회 SSSCON - 웹해킹 스터디 현황
제2회 SSSCON - 웹해킹 스터디 현황
Youngbin Han
한글 폰트 테스트
한글 폰트 테스트한글 폰트 테스트
한글 폰트 테스트
김 진수
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
BJ Jang
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
chandler0201
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Youngbin Han
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
Insub Lee
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Youngbin Han
Git 사용법 공유 + Unity3D with git
Git 사용법 공유 + Unity3D with gitGit 사용법 공유 + Unity3D with git
Git 사용법 공유 + Unity3D with git
SeongSik Kim
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차B - 가지치기와 꼬리표 달기
Youngbin Han
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Git 과 GitHub 를 이용한 버전관리와 협업 - 1주차 - 첫 커밋 푸시하기
Youngbin Han
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Git 과 GitHub 를 이용한 버전관리와 협업 - 3주차 - 코드 기여하기/기여받기, 이슈 처리하기, 지속적 통합
Youngbin Han
Node.js 런타임 버전 관리하기
Node.js 런타임 버전 관리하기Node.js 런타임 버전 관리하기
Node.js 런타임 버전 관리하기
Youngbin Han
제2회 SSSCON - 웹해킹 스터디 현황
제2회 SSSCON - 웹해킹 스터디 현황제2회 SSSCON - 웹해킹 스터디 현황
제2회 SSSCON - 웹해킹 스터디 현황
Youngbin Han
한글 폰트 테스트
한글 폰트 테스트한글 폰트 테스트
한글 폰트 테스트
김 진수
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
BJ Jang
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
chandler0201
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Git&GitHub 를 이용한 버전관리와 협업 - 2.비교하기와 되돌리기
Youngbin Han
svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드svn 능력자를 위한 git 개념 가이드
svn 능력자를 위한 git 개념 가이드
Insub Lee
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Git&GitHub 를 이용한 버전관리와 협업 - 1.첫 커밋 푸시하기
Youngbin Han
Git 사용법 공유 + Unity3D with git
Git 사용법 공유 + Unity3D with gitGit 사용법 공유 + Unity3D with git
Git 사용법 공유 + Unity3D with git
SeongSik Kim
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99

More from Youngbin Han (20)

Ubucon Europe and Asia
Ubucon Europe and AsiaUbucon Europe and Asia
Ubucon Europe and Asia
Youngbin Han
우분투 아시아 컨퍼런스 바닥에서 시작하기
우분투 아시아 컨퍼런스 바닥에서 시작하기우분투 아시아 컨퍼런스 바닥에서 시작하기
우분투 아시아 컨퍼런스 바닥에서 시작하기
Youngbin Han
Automating boring and repetitive UbuCon Asia video and subtitle stuffs
Automating boring and repetitive UbuCon Asia video and subtitle stuffsAutomating boring and repetitive UbuCon Asia video and subtitle stuffs
Automating boring and repetitive UbuCon Asia video and subtitle stuffs
Youngbin Han
Engaging new l10n contributors through Open Source Contributhon
Engaging new l10n contributors through Open Source ContributhonEngaging new l10n contributors through Open Source Contributhon
Engaging new l10n contributors through Open Source Contributhon
Youngbin Han
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Youngbin Han
What's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTSWhat's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTS
Youngbin Han
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기
Youngbin Han
우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고
Youngbin Han
FluxSync Team 중간보고
FluxSync Team 중간보고FluxSync Team 중간보고
FluxSync Team 중간보고
Youngbin Han
openSUSE.Asia Summit 2017 Tokyo 참관후기
openSUSE.Asia Summit 2017 Tokyo 참관후기openSUSE.Asia Summit 2017 Tokyo 참관후기
openSUSE.Asia Summit 2017 Tokyo 참관후기
Youngbin Han
How & Why we have connected Slack & IRC
How & Why we have connected Slack & IRCHow & Why we have connected Slack & IRC
How & Why we have connected Slack & IRC
Youngbin Han
SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)
Youngbin Han
SKHUFEEDS 소개 발표자료
SKHUFEEDS 소개 발표자료SKHUFEEDS 소개 발표자료
SKHUFEEDS 소개 발표자료
Youngbin Han
Snaps on Ubuntu Desktop
Snaps on Ubuntu DesktopSnaps on Ubuntu Desktop
Snaps on Ubuntu Desktop
Youngbin Han
How and why we have integrated Slack and IRC
How and why we have integrated Slack and IRCHow and why we have integrated Slack and IRC
How and why we have integrated Slack and IRC
Youngbin Han
Ubuntu's Unity - Birth to Death(in 5minutes)
Ubuntu's Unity - Birth to Death(in 5minutes)Ubuntu's Unity - Birth to Death(in 5minutes)
Ubuntu's Unity - Birth to Death(in 5minutes)
Youngbin Han
Jekyll and GitHub Pages
Jekyll and GitHub PagesJekyll and GitHub Pages
Jekyll and GitHub Pages
Youngbin Han
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Youngbin Han
클라우드 컴퓨팅 & 클라우드 보안
클라우드 컴퓨팅 & 클라우드 보안클라우드 컴퓨팅 & 클라우드 보안
클라우드 컴퓨팅 & 클라우드 보안
Youngbin Han
(중국과 세계 발표)황금방패
(중국과 세계 발표)황금방패(중국과 세계 발표)황금방패
(중국과 세계 발표)황금방패
Youngbin Han
우분투 아시아 컨퍼런스 바닥에서 시작하기
우분투 아시아 컨퍼런스 바닥에서 시작하기우분투 아시아 컨퍼런스 바닥에서 시작하기
우분투 아시아 컨퍼런스 바닥에서 시작하기
Youngbin Han
Automating boring and repetitive UbuCon Asia video and subtitle stuffs
Automating boring and repetitive UbuCon Asia video and subtitle stuffsAutomating boring and repetitive UbuCon Asia video and subtitle stuffs
Automating boring and repetitive UbuCon Asia video and subtitle stuffs
Youngbin Han
Engaging new l10n contributors through Open Source Contributhon
Engaging new l10n contributors through Open Source ContributhonEngaging new l10n contributors through Open Source Contributhon
Engaging new l10n contributors through Open Source Contributhon
Youngbin Han
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Introduction to Hanjp-IM Project (DebConf18 - Hsinchu, Taiwan)
Youngbin Han
What's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTSWhat's new in Ubuntu 18.04 LTS
What's new in Ubuntu 18.04 LTS
Youngbin Han
Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기Naver Campus Hackday Winter 2017 참가 후기
Naver Campus Hackday Winter 2017 참가 후기
Youngbin Han
우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고우분투한국커뮤니티 2017년 활동보고
우분투한국커뮤니티 2017년 활동보고
Youngbin Han
FluxSync Team 중간보고
FluxSync Team 중간보고FluxSync Team 중간보고
FluxSync Team 중간보고
Youngbin Han
openSUSE.Asia Summit 2017 Tokyo 참관후기
openSUSE.Asia Summit 2017 Tokyo 참관후기openSUSE.Asia Summit 2017 Tokyo 참관후기
openSUSE.Asia Summit 2017 Tokyo 참관후기
Youngbin Han
How & Why we have connected Slack & IRC
How & Why we have connected Slack & IRCHow & Why we have connected Slack & IRC
How & Why we have connected Slack & IRC
Youngbin Han
SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)SKHUFEEDS 소개 발표자료(노트 포함)
SKHUFEEDS 소개 발표자료(노트 포함)
Youngbin Han
SKHUFEEDS 소개 발표자료
SKHUFEEDS 소개 발표자료SKHUFEEDS 소개 발표자료
SKHUFEEDS 소개 발표자료
Youngbin Han
How and why we have integrated Slack and IRC
How and why we have integrated Slack and IRCHow and why we have integrated Slack and IRC
How and why we have integrated Slack and IRC
Youngbin Han
Ubuntu's Unity - Birth to Death(in 5minutes)
Ubuntu's Unity - Birth to Death(in 5minutes)Ubuntu's Unity - Birth to Death(in 5minutes)
Ubuntu's Unity - Birth to Death(in 5minutes)
Youngbin Han
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Git&GitHub 를 이용한 버전관리와 협업 - 4.협업과 지속적 통합
Youngbin Han
클라우드 컴퓨팅 & 클라우드 보안
클라우드 컴퓨팅 & 클라우드 보안클라우드 컴퓨팅 & 클라우드 보안
클라우드 컴퓨팅 & 클라우드 보안
Youngbin Han
(중국과 세계 발표)황금방패
(중국과 세계 발표)황금방패(중국과 세계 발표)황금방패
(중국과 세계 발표)황금방패
Youngbin Han

Git 과 GitHub 를 이용한 버전관리와 협업 - 2주차A - 비교하기와 되돌리기

  • 1. Git 과 GitHub 를 이용한 버전관리와 협업 2주차A - 비교하기와 되돌리기 한영빈(sukso96100@gmail.com)
  • 3. git dif git diff [--options] [--] [<path>…] 가장 최근 커밋 ~ 가장 최근 커밋 이후 수정 되었으나 Index에 추가되지 않은 파일
  • 4. git dif --cached git diff [--options] --cached [<commit>] [--] [<path>…] 가장 최근 커밋 ~ Index에 추가된 파일
  • 5. git dif <commit> git diff [--options] <commit> [--] [<path>…] <commit> ~ 가장 최근 커밋 이후 수정 되었으나 Index에 추가되지 않은 파일
  • 6. git dif <commit-1> <commit-2> git diff [--options] <commit> [--] [<path>…] <commit-1> ~ <commit-2>
  • 7. 단어 단위로 비교하기 --word-diff : 변경된 단어에 [-...-], {+...+} 를 감싸서 표시 --word-diff=color ( --color-words 와 동일) : 변경된 단어를 색상으로만 표시
  • 8. 커밋 로그 변경 내역까지 같이 보기 git log -p 커밋 로그가 나오는데, 각 커밋미다 diff 내용까지 같이 나옴.
  • 10. --amend --amend 옵션을 사용하여 가장 최근 커밋을 수정할 수 있음. <사용 예시> git add more-file git commit --amend -m “edited commit”
  • 11. checkout 어떤 파일이나 적업 디렉터리의 특정 시점에서의 상태를 확인 할 때 사용. git checkout master : 작업 디렉터리를 master 브랜치의 가장 최근 시점으로 git checkout <commit> <file> : <file>을 <commit> 시점의 상태로 git checkout <commit> : 작업 디렉터리를 <commit> 시점의 상태로
  • 12. checkout git checkout hello.c a2sd6g8 a2sd6g8 a2sd6g8d6g8ej5 d6g8ej5 d6g8ej5 시점에서의 hello.c a2sd6g8 시점에서의 hello.c
  • 13. reset - 변경사항 되돌리기(좀 위험한 방법) git reset <file> : Index 에서 <file> 만 제외 git reset : Index 에 있는 모든 파일 제외 git reset <commit> : 가장 최근 커밋에서, <commit> 직전 까지의 커밋 모두 제거 git reset ORID_HEAD : reset 직전으로 되돌리기 → --hard 옵션이 없으므로, 작업 디렉터리 상태는 그대로 유지됨.
  • 15. reset --hard git reset --hard : 작업 디렉터리 상태를 가장 최근 커밋 시점으로 git reset --hard <commit> : 가장 최근 커밋부터 <commit> 까지의 커밋 삭제, 그리고 작업 디렉터리 상태를 <commit> 바로 전 커밋의 시점으로 git reset --hard ORIG_HEAD : reset 직전으로 되돌리기 → --hard 옵션 사용시, 작업 디렉터리 상태까지 지정한 커밋 시점 상태로 바뀜.
  • 16. revert - 변경사항 되돌리기(안전한 방법 방법) git revert <commit> <commit> 과 완전히 반대되는 내용의 커밋을 새로 생성함
  • 17. git revert 0467fsb 0467fsb skgimwf 73jgom9 Added hello.py + #hello.py + print “Hello” Revert “Added hello.py” - #hello.py - print “Hello”
  • 18.