[Github] push, pull


push, pull, merge의 과정

개발이 완료 됐다면? → push + remote에도 브랜치 추가 → pull request → merge

push and pull

항상 로컬 저장소의 파일을 원격 저장소에 최신화 하고자 할 때는 “add → commit → push“의 순서를 따르면 된다.

commit

1
2
## -a = add, -m = message (add -> commit -> push 순서)
$ git commit -a -m "메시지 넣으면 됨"

commit 되돌리기

1
2
3
4
# 만약 커밋을 이미 해버렸는데, 해당 커밋 내용에 추가적으로 변경되어야 할 사항이 필요할 경우
$ git reset [commit 코드]
# 그냥 커밋 자체를 취소하고 로컬에서 변경사항도 되돌리고싶을 경우
$ git reset --hard [commit 코드]

push방법

1
2
## ex) git push origin function/a
$ git push [저장소명] [브랜치명]

매번 저장소명과 브랜치명 작성하는게 귀찮을 경우!

1
2
3
4
5
6
7
## 로컬의 브랜치를 remote repo에 업로드 (origin) => 이후에는 저장소와 브랜치명 작성 안해줘도 됨
$ git push -u origin [브랜치명]

## 만약 현재 브랜치에 바로 push를 하고싶다면?
$ git push origin HEAD
## 또는?
$ git push origin HEAD/

push and pull


Local 최신화

이제 remote 레포가 최신화 됐으므로, 나의 local 또한 최신화 해줘야 한다.

  1. develop 브랜치로 이동한다. (나의 경우는 main 아래에 develop을 두는 편이기에)

    1
    $ git checkout develop
  2. 이전에 작업했던 브랜치를 develop과 merge 해준다.

    1
    $ git merge [방금 작업했던 branch 이름]

fetch vs pull?

  • fetch : remote 데이터를 로컬로 “가져오기만”(로컬 헤드가 변경되지 않음)
  • pull : remote 데이터를 가져오고 + 병합까지 실행 (fetch + merge ⇒ 파일이 불러와지고, head도 옮겨짐)

Author

Hoonjoo

Posted on

2022-01-27

Updated on

2022-02-07

Licensed under

Comments