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

18
Git GitHub 를 이용한 버전관리와 협업 2주차A - 비교하기와 되돌리기 한영빈([email protected])

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

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

Git 과 GitHub 를 이용한버전관리와 협업2주차A - 비교하기와 되돌리기한영빈([email protected])

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

비교하기dif

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

git difgit diff [--options] [--] [<path>…]

가장 최근 커밋 ~ 가장 최근 커밋 이후 수정 되었으나 Index에 추가되지 않은 파일

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

git dif --cachedgit diff [--options] --cached [<commit>] [--] [<path>…]

가장 최근 커밋 ~ Index에 추가된 파일

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

git dif <commit>git diff [--options] <commit> [--] [<path>…]

<commit> ~ 가장 최근 커밋 이후 수정 되었으나 Index에 추가되지 않은 파일

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

git dif <commit-1> <commit-2>git diff [--options] <commit> [--] [<path>…]

<commit-1> ~ <commit-2>

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

단어 단위로 비교하기--word-diff : 변경된 단어에 [-...-], {+...+} 를 감싸서 표시--word-diff=color ( --color-words 와 동일) : 변경된 단어를 색상으로만 표시

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

커밋 로그 변경 내역까지 같이 보기git log -p

커밋 로그가 나오는데, 각 커밋미다 diff 내용까지 같이 나옴.

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

되돌리기--amend, checkout, reset, revert

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

--amend--amend 옵션을 사용하여 가장 최근 커밋을 수정할 수 있음.

<사용 예시>git add more-file

git commit --amend -m “edited commit”

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

checkout어떤 파일이나 적업 디렉터리의 특정 시점에서의 상태를 확인 할 때 사용.

git checkout master : 작업 디렉터리를 master 브랜치의 가장 최근 시점으로

git checkout <commit> <file> : <file>을 <commit> 시점의 상태로

git checkout <commit> : 작업 디렉터리를 <commit> 시점의 상태로

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

checkout

git checkout hello.c a2sd6g8

a2sd6g8 a2sd6g8d6g8ej5 d6g8ej5

d6g8ej5 시점에서의 hello.c a2sd6g8 시점에서의 hello.c

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

reset - 변경사항 되돌리기(좀 위험한 방법)git reset <file> : Index 에서 <file> 만 제외git reset : Index 에 있는 모든 파일 제외git reset <commit> : 가장 최근 커밋에서, <commit> 직전 까지의 커밋 모두 제거git reset ORID_HEAD : reset 직전으로 되돌리기→ --hard 옵션이 없으므로, 작업 디렉터리 상태는 그대로 유지됨.

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

git reset w7gg0em

w7gg0em

dj00ale

pqmfuxi

hlwm35s

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

reset --hardgit reset --hard : 작업 디렉터리 상태를 가장 최근 커밋 시점으로git reset --hard <commit> : 가장 최근 커밋부터 <commit> 까지의 커밋 삭제, 그리고 작업 디렉터리 상태를 <commit> 바로 전 커밋의 시점으로git reset --hard ORIG_HEAD : reset 직전으로 되돌리기→ --hard 옵션 사용시, 작업 디렉터리 상태까지 지정한 커밋 시점 상태로 바뀜.

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

revert - 변경사항 되돌리기(안전한 방법 방법)git revert <commit>

<commit> 과 완전히 반대되는 내용의 커밋을 새로 생성함

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

git revert 0467fsb0467fsb skgimwf 73jgom9

Added hello.py

+ #hello.py

+ print “Hello”

Revert “Added hello.py”

- #hello.py

- print “Hello”

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