Tools/Git, GitHub

[Codeit/Git] #7 Git 자유자재로 활용하기

성중 2021. 6. 8. 17:01

git reset을 하고 다시 돌아오려면?

git reset --hard를 하더라도 이후 커밋들이 사라지는건 아니기 때문에 다시 되돌릴 수 있다
따라서 커밋 아이디만 알고 있다면 최근 커밋으로 reset해서 돌아올 수 있지만,,
아이디도 까먹은 상태라면 git reflog를 활용하자

git reflog를 입력하면..
HEAD 의 아이디 기록을 통해 아이디를 확인하고 reset할 수 있다!

작업 내용 임시 저장하고 브랜치 이동하기

특정 브랜치에서 작업을 하던 도중에 브랜치를 변경하면 작성 중인 내용이 날아갈 수 있다!

작성 중 브랜치를 변경하려 하면 에러 발생

이런 경우 git stash를 활용해 작업 내용을 임시 저장해주자

작업 내용을 스택(stack)에 저장하는 것이다
'git stash list'를 입력해 현재 스택 상태를 확인

스택에 작업 내용을 저장하고 다른 브랜치의 작업을 한 후 다시 해당 브랜치로 돌아와서,,

'git stash apply'를 입력해 스택에서 작업 내용을 불러오자

이를 응용하면 잘못된 브랜치에서 작업하고 있었을 때 작업 내용을 stack으로 보내버리고 브랜치를 변경한 후 stash apply를 해주는 것도 가능하다!

stash apply 이후에는 'git stash drop'을 입력해 스택을 비워주자

* git stash apply 대신에 git stash pop을 입력하면 적용과 동시에 삭제해준다

필요한 커밋만 가져오는 git cherry-pick

git history --all --graph로 다른 브랜치에서 필요한 커밋을 체크하고,,
git cherry-pick [커밋 아이디]’를 입력하면 현재 브랜치에 원하는 커밋만 적용할 수 있다

이후 conflict가 발생하면 직접 파일을 수정해서 해결해주면 된다



본 내용은 Codeit의 'Git으로 배우는 버전 관리'를 바탕으로 작성되었습니다.

'Tools > Git, GitHub' 카테고리의 다른 글

[TIL] gitmoji 커밋 메시지 컨벤션  (0) 2022.04.24
[TIL] 커밋 메시지 컨벤션  (6) 2022.01.05
[Codeit/Git] #6 Git 협업하기  (4) 2021.05.31
[Codeit/Git] #5 브랜치 사용하기  (4) 2021.05.29
[Codeit/Git] #4 커밋 다루기  (6) 2021.05.24