정말 이것때문에 왜이렇게 골치아픈가 싶어서 차근차근 정리해보았다.
git clone 마스터 브랜치 주소
git branch 브랜치이름
git add .
: 스테이징git commit
: 에디터로 커밋 메시지 작성git push origin 브랜치이름
: 마스터로 푸시 X. 반드시 브랜치로 푸시git add .
git commit
: 작업 내용 임시저장까지 완료한 후 pull 해와야 함git checkout master
git pull origin master
git checkout 브랜치이름
git merge master
: 여기서 master는 원격저장소의 master가 아니라 내 로컬을 말함git add .
git commit
git push origin 브랜치이름
git remote update
git branch -a
git checkout -t origin/feature/modeling
커밋을 취소하고 싶다면
git reset --soft HEAD^
커밋을 취소하고 변경 사항을 staged 상태로 돌림 (add까지 한 상태로)
git reset --mixed HEAD^
커밋을 취소하고 변경 사항을 unstaged 상태로 돌림 (add 이전 상태로)
브랜치를 삭제하고 싶다면
git branch -d 브랜치이름
Pull request(PR) 후 merge 대기 상태에서 계속 push 하면 commit이 누적되니까 나중에 한꺼번에 merge 가능하다. (merge 기다리면서 같은 브랜치에서 계속 작업 가능)
merge 전 새 브랜치 파서 작업하려면 우선 내 로컬 마스터로 이동한 후에 새 브런치를 만들어준다.
git checkout master
git pull origin master
: 혹시 적용해야할 변경사항이 없는지 확인
git branch 새브랜치이름
git checkout 새브랜치이름
: 이동 후 새 작업 시작
브랜치 이동 시 반드시 add - commit까지 하고 이동해야 한다. 잘못하면 다른 브랜치와 작업 내용이 섞일 수 있다.