[Github] Pull & Push

지현·2022년 5월 21일
1

Github

목록 보기
4/4

협업을 진행하면서 깃허브를 많이 사용하게 되었는데 pull을 하는 과정에서 어려움이 있었어서 정리해보면서 push도 함께 정리해보려고 한다.

PULL

  • 작업을 시작하기 전에는 항상 pull을 하고 작업을 시작해야한다.

  • 원격 저장소의 main 브랜치와 로컬 저장소의 feature/jjh 브랜치의 내용이 다른 상황

  • 아래 코드를 로컬 저장소의 feature/jjh 브랜치에서 진행한다.

    $ git pull origin main
  • 위의 코드를 치면 아래와 같은 화면이 나오는데 이는 main브랜치를 merge하기 위해서 commit message를 작성해주는 창이다.

    1. 위의 화면에서 키보드의 i를 누르고 commit message 작성한다.
    2. 작성후 ESC를 눌러 INSERT를 빠져 나간다.
    3. :wq를 치고 enter를 눌러 해당 창을 빠져나간다. (커밋메세지 작성 완료)
  • 위의 과정(1~3번)을 모두 진행하면 아래와 같이 pull이 완료된것을 볼 수 있다.

  • 원격 저장소 main 브랜치의 내용이 로컬 저장소 feature/jjh 브랜치로 반영된 것을 볼 수 있다.


PUSH

깃허브의 내 브랜치에 커밋푸시하기

  1. 현재 변경 상태 확인
    $ git status

  2. commit하기 위해 add
    $ git add .

  3. add가 잘 되었는지 확인
    $ git status

  4. commit 메세지와 함께 commit
    $ git commit -m "commit message"

    ➕ git add와 commit을 같이 하는 방법!
    $ git commit -am "commit message"

  5. 내 브랜치에 push
    $ git push origin feature/jjh


잘못된 시도 (PULL)

첫번째 시도

  • 로컬 내 브랜치에서 원격 저장소(깃) 내 브랜치를 pull함

두번째 시도

  • 로컬 main 브랜치에서 원격 저장소(깃) 내 브랜치를 pull함

=> 첫번째, 두번째 모두 내 브랜치를 pull한 것이기 때문에 의미 없음

세번째 시도

  • 로컬 main 브랜치에서 원격 저장소(깃) main 브랜치를 pull함

  • 이럴 경우 기존 상황과 다를 바 없이 로컬 main 브랜치에만 반영되고 로컬 내 브랜치에서는 반영되지 않아서 pull을 한 의미가 없음

  • 왜냐하면 내가 로컬에서 작업할 때 main에서 작업할 것이 아니라 내 브랜치에서 작업할 것이기 때문에 로컬 main에 반영되어도 의미가 없는 것


Trouble Shooting

찾아보니 작업을 하다가 비정상적 종료가 있었어서 (임시 파일이 생성된 느낌) 생긴 오류라고 한다.

해결방법은 아직 찾지 못했다. 나는 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을 동시에!

profile
화이팅!

0개의 댓글