"Git reset"의 두 판 사이의 차이

 
(사용자 3명의 중간 판 19개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;git reset
;git reset
* 특정 commit 시점으로 되돌리는 git 명령어
* HEAD를 특정 commit 시점으로 되돌리는 git 명령어
 
http://www.vogella.com/tutorials/Git/images/xgitreset10.png.pagespeed.ic.tEnDxdAiQs.png


==실습==
==실습==
*사전작업: [[git commit]] 실습
*사전작업: [[git commit]] 실습
<source lang='cli'>
<source lang='console'>
root@zetawiki:~/workspace/hello# echo 'good morning' >> greet.txt
root@zetawiki:~/workspace/hello# echo 'good morning' >> greet.txt
root@zetawiki:~/workspace/hello# git add greet.txt  
root@zetawiki:~/workspace/hello# git add greet.txt  
12번째 줄: 14번째 줄:
  1 file changed, 1 insertion(+)
  1 file changed, 1 insertion(+)
</source>
</source>
<source lang='cli'>
<source lang='console'>
root@zetawiki:~/workspace/hello# git log
root@zetawiki:~/workspace/hello# git log
commit c88bffe4d7e3389a01704ef51390257ad38d0e95
commit c88bffe4d7e3389a01704ef51390257ad38d0e95
26번째 줄: 28번째 줄:
     hello world!
     hello world!
</source>
</source>
<source lang='cli'>
<source lang='console'>
root@zetawiki:~/workspace/hello# git reset 6b03476
root@zetawiki:~/workspace/hello# git reset 6b03476
Unstaged changes after reset:
Unstaged changes after reset:
M greet.txt
M greet.txt
</source>
</source>
<source lang='cli'>
<source lang='console'>
root@zetawiki:~/workspace/hello# git log
root@zetawiki:~/workspace/hello# git log
commit 6b0347639d7cb7a6a2f9d9c2eb239c66f152562a
commit 6b0347639d7cb7a6a2f9d9c2eb239c66f152562a
39번째 줄: 41번째 줄:
     hello world!
     hello world!
</source>
</source>
<source lang='cli'>
<source lang='console'>
root@zetawiki:~/workspace/hello# cat greet.txt
root@zetawiki:~/workspace/hello# cat greet.txt
hello world
hello world
47번째 줄: 49번째 줄:
hello world
hello world
</source>
</source>
==옵션==
{| class='wikitable'
! 옵션 !! HEAD !! Index !! Working Directory
|-
|git reset --soft [commit] || o || x || x
|-
|git reset --mixed [commit] || o || o || x
|-
|git reset --hard [commit] || o || o || o
|}
:→ o 로 표시된 부분만 실행됨
:→ 옵션 없이 git reset [commit] 을 실행하면 mixed 옵션으로 실행됨


==같이 보기==
==같이 보기==
*[[git checkout]]
* [[git reflog]]
*[[git log]]
* [[git checkout]]
*[[git 명령어]]
* [[git log]]
* [[git 명령어]]
* [[git add 취소하기]]
* [[git clone 예전 버전 가져오기]]
 
==참고==
* https://git-scm.com/docs/git-reset
* https://git-scm.com/book/ko/v2/Git-도구-Reset-명확히-알고-가기


[[분류: Git]]
[[분류: Git]]

2018년 5월 22일 (화) 11:51 기준 최신판

1 개요[ | ]

git reset
  • HEAD를 특정 commit 시점으로 되돌리는 git 명령어

 

2 실습[ | ]

root@zetawiki:~/workspace/hello# echo 'good morning' >> greet.txt
root@zetawiki:~/workspace/hello# git add greet.txt 
root@zetawiki:~/workspace/hello# git commit -m 'good morning!'
[master c88bffe] good morning!
 1 file changed, 1 insertion(+)
root@zetawiki:~/workspace/hello# git log
commit c88bffe4d7e3389a01704ef51390257ad38d0e95
Author: gituser1 <gituser1@zetawiki.com>
Date:   Wed Mar 2 00:09:26 2016 +0900

    good morning!

commit 6b0347639d7cb7a6a2f9d9c2eb239c66f152562a
Author: gituser1 <gituser1@zetawiki.com>
Date:   Wed Mar 2 00:09:16 2016 +0900

    hello world!
root@zetawiki:~/workspace/hello# git reset 6b03476
Unstaged changes after reset:
M	greet.txt
root@zetawiki:~/workspace/hello# git log
commit 6b0347639d7cb7a6a2f9d9c2eb239c66f152562a
Author: gituser1 <gituser1@zetawiki.com>
Date:   Wed Mar 2 00:09:16 2016 +0900

    hello world!
root@zetawiki:~/workspace/hello# cat greet.txt
hello world
good morning
root@zetawiki:~/workspace/hello# git checkout greet.txt
root@zetawiki:~/workspace/hello# cat greet.txt
hello world

3 옵션[ | ]

옵션 HEAD Index Working Directory
git reset --soft [commit] o x x
git reset --mixed [commit] o o x
git reset --hard [commit] o o o
→ o 로 표시된 부분만 실행됨
→ 옵션 없이 git reset [commit] 을 실행하면 mixed 옵션으로 실행됨

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}