일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 서버
- batflat
- 리눅스 사용자
- 라즈베리
- java
- Linux
- 라즈베리파이 실습
- OverTheWire
- git branch
- 웹 서버
- 리눅스 커맨드
- 웹 만들기
- 웹 유저
- 명령어
- 블로그 만들기
- 컴활 1급
- 컴퓨터 활용능력
- git merge
- windows10
- IRC 서버
- 웹사이트
- github command
- 라즈베리 파이
- 리눅스
- 서버 백업
- 커맨드
- github
- date
- 우분투 설치
- 라즈베리파이
- Today
- Total
돌공공돌
[Git] git revert && reset && rebase! (❁´◡`❁) 본문
git 에서 commit 했는데, 과연 거기서 문제가 생긴다면 어떻게 해야 할까?
그걸 담당하는 명령어가 revert 와 reset 이다!
commit 되돌리기
git revert HEAD
revert : 특정 시점의 commit 상태로 변경하는 commit을 추가로 만든다. --> 마치 문제된 commit 이 없었던 것 '처럼 ' 처리한다.
구현 모습
1. v1.txt 를 만들어 v1 이라는 내용을 입력하고, add 와 commit 한다.
2. v1.txt 의 내용을 v2 로 바꾸고 add와 commit 한다.
3. v1.txt 의 내용을 v3 로 바꾸고 add와 commit 한다.
4. git revert HEAD 라고 입력한다.
5. V1.txt 의 v2 를 내용을 확인한다.
git reset [version code]
reset : commit 자체를 과거로 되돌린다. 그리고 문제된 commit 을 제거한다.
1. 각각의 버전을 만들어 줍니다.
2. git log 로 로그 를 확인합니다.
3. v2 로 돌아가기 위해, v2의 코드 067d5b7을 입력합니다.
4. git log로 확인 합니다.
쨘 v3는 사라졌네요!
git rebase
이름의 뜻은 무엇일까? base를 새로 바꾼다는 말은 무슨 말일까요?
왜 사용하는가? : 과거의 commit으로 잠시 돌아 갈 수 있다. 예전의 commit message를 수정할 수 있다.
다시말해 , 잠시 commit들의 base를 과거로 바꾼 다음에 메시지 수정 (reword) 할 수 있다.
1. 총 4개의 버전을 만들어 뒀다. (위의 그림처럼)
2. 그래서 rebase -i --root을 입력 했는데, 왜인지, 오류가 뜬다. commit 하거나 stash를 하라한다. stash가 대체 뭔지,,
반신반의로 stash를 했다.
그랬더니 된다.! vim 에디터로 들어와 pick 을 reword로 바꾸었다.
그 뒤 commit 메시지를 바꾸어 주었다.
그랬더니 , 성공적으로 rebase 되었다고 한다. 휴...
git log로 확인하니, commit 메시지가 바뀌었다.
stash를 이용하면 작업중이던 파일을 임시로 저장해두고
현재 브랜치의 상태를 마지막 커밋의 상태로 초기화 할 수 있습니다.
생활코딩 https://opentutorials.org/course/2708/15332
stash - 생활코딩
수업소개 다른 브랜치로 checkout을 해야 하는데 아직 현재 브랜치에서 작업이 끝나지 않은 경우는 커밋을 하기가 애매합니다. 이런 경우 stash를 이용하면 작업중이던 파일을 임시로 저장해두고 현재 브랜치의 상태를 마지막 커밋의 상태로 초기화 할 수 있습니다. 그 후에 다른 브랜치로 이동하고 작업을 끝낸 후에 작업 중이던 브랜치로 복귀한 후에 이전에 작업하던 내용을 복원할 수 있습니다. 여기서는 이 기능에 대해서 알아봅니다. 수업
opentutorials.org
에서 퍼온 말이다. 뭔가 내가 작업중이던, work repository 의 head 가 올바르게 업데이트 되지 않았었나 보다.
관련 영상이 저기에 있으니 저기서 배우면, 도움이 많이 될 것 같다.
추가!👻👻
git log 옵션
git log -- graph--decorate -- oneline
--graph : 시각적으로 log 의 변경 모습을 보여준다.
--decorate : HEAD 의 위치를 알려준다. --> 아까 stash 하기 전의 head 가 아마 ver4가 아니었기 때문에, 문제가 생긴게 아니었을까..
--oneline : 간단하게 한줄로 보여준다.
'IT > Git' 카테고리의 다른 글
[Git] Vim 설정 하기 (줄 마다 숫자달기, 숫자패드 입력하기, 한글 파일 깨짐 없애기) (0) | 2020.04.20 |
---|---|
[Git] Git 과Github으로 협업하기 (0) | 2020.04.19 |
[Git] git 기본 명령어 정리 --> 퍼온 글 (*/ω\*) (0) | 2020.04.19 |
[Git] git branch 와 merge 사용하기 (0) | 2020.04.18 |
[Git] Git Command 정리 && 실습 모습🤩 (0) | 2020.04.08 |