협업을 진행하면서 깃허브를 많이 사용하게 되었는데 pull을 하는 과정에서 어려움이 있었어서 정리해보면서 push도 함께 정리해보려고 한다.
작업을 시작하기 전에는 항상 pull을 하고 작업을 시작해야한다.
원격 저장소의 main 브랜치와 로컬 저장소의 feature/jjh 브랜치의 내용이 다른 상황
$ git pull origin main
위의 코드를 치면 아래와 같은 화면이 나오는데 이는 main브랜치를 merge하기 위해서 commit message를 작성해주는 창이다.
위의 과정(1~3번)을 모두 진행하면 아래와 같이 pull이 완료된것을 볼 수 있다.
원격 저장소 main 브랜치의 내용이 로컬 저장소 feature/jjh 브랜치로 반영된 것을 볼 수 있다.
현재 변경 상태 확인
$ git status
commit하기 위해 add
$ git add .
add가 잘 되었는지 확인
$ git status
commit 메세지와 함께 commit
$ git commit -m "commit message"
➕ git add와 commit을 같이 하는 방법!
$ git commit -am "commit message"
내 브랜치에 push
$ git push origin feature/jjh
=> 첫번째, 두번째 모두 내 브랜치를 pull한 것이기 때문에 의미 없음
로컬 main 브랜치에서 원격 저장소(깃) main 브랜치를 pull함
이럴 경우 기존 상황과 다를 바 없이 로컬 main 브랜치에만 반영되고 로컬 내 브랜치에서는 반영되지 않아서 pull을 한 의미가 없음
왜냐하면 내가 로컬에서 작업할 때 main에서 작업할 것이 아니라 내 브랜치에서 작업할 것이기 때문에 로컬 main에 반영되어도 의미가 없는 것
찾아보니 작업을 하다가 비정상적 종료가 있었어서 (임시 파일이 생성된 느낌) 생긴 오류라고 한다.
해결방법은 아직 찾지 못했다. 나는 delete하고 껐다가 켰다.
Git Workflow, git branch, conflict
참고
[개발툴] Please enter a commit message to explain why this merge is necessary, especially if it merges an updated upstream into a topic branch 해결하기 (git bash)
[Git] add와 commit을 동시에!