QA Automation/그냥하는거지무슨주제가있어
git branch 생성 / branch push / git commit 취소 reset HEAD^
kokorii_
2023. 8. 7. 00:34
기본중에 기본이고 가장 많이쓰고 자주쓰는건데 왜 매번 잊어버리고 매번 찾아봐야 하는걸까
괜찮아 이렇게 기록해두면서 다시 또 꺼내보면 되지 언젠가는 내 뇌가 외우겠지 .. 들어가는거 귀찮아서라도 외우겠지 그치?
git branch 생성
//저장소 복사
git clone [url]
//브랜치 생성
git branch [new_branch_name]
// 요렇게 하면 브랜치 생성 후 바로 새로 생성된 브랜치로 헤드가 옮겨짐
// git checkout -b [new_branch_name]
// 새로 생성한 브랜치로 이동
git checkout [new_branch_name]
// HEAD branch 어딘지 확인(잘 옮겨졌나 확인)
git branch
//add, commit
git add .
git commit -m "mesg"
//branch push 왜 이걸 자꾸 까먹 는 거니!!
git push origin [new_branch_name]
git commit 취소는 Reset 으로
어쩐일로(풉) fetch pull 안하고 저장소 땡겨서 오늘 push가 안들어갔다
순~간~너무 당황했지만 자연스럽게 commit 취소해버리기
reset 명령어 옵션
- --soft : 커밋만 취소. add/staged 상태 유지. 워킹디렉토리 파일 보존됨
- --mixed : reset 기본값. add 전 상태로 돌아감. (unstaged 상태).
- --hard : 원격 저장소의 마지막 commit 상태로 돌아간다. 즉 내가 작업한 커밋이 날라갈 수 있으니 매우 유의해야함
리셋명령어를 쓸 때 git log 로 index 값을 확인하고 사용할 수 있지만, 나는 아직 특정 커밋으로 돌아가기보다는 바로 직전 상태로 돌아가는 경우가 더 많아서 HEAD^를 자주쓴다
그래서 내가 자주쓰는 명령어는
당연히 기본 옵션 커밋에 HEAD
//git index, history 확인
git log
//바로직전 커밋상태로 돌리기, Unstaged
git reset --mixed HEAD^
//마지막 두개 커밋 취소, unstaged
git reset --mixed HEAD~2
//commit mesg만 수정하기
//git commit --amend "mesg"
잊지말자 브랜치 커밋, 다시보자 reset --mixed