Git clone, forked / Pull Request

uoayop·2021년 9월 24일
1

Git

목록 보기
6/6
post-thumbnail

틀린 내용 한바가지일 수도 있음..
몰래 야금야금 수정할 예정 ^.^

1. 프로젝트 세팅

  • 기존 repository를 clone 하거나, 내 repository로 forked 해서 프로젝트 세팅할 수 있음
  • 둘 중에 편한 걸로 선택

1-1. 프로젝트 clone

1. clone 받아오기
$ git clone https://github.com/(조직명 또는 username)/(repository).git 


2. 해당 폴더 열기
- VSCode 사용 시 [파일 - 폴더 열기 -  (repository) 폴더]
$ cd (repository)


3. 작업 브랜치로 이동
$ git checkout -b (자기 브랜치 이름) origin/(자기 브랜치 이름)

주의!
git checkout origin/(브랜치명)

  • 위의 코드는 임시로 해당 브랜치로 이동하는 거라 로컬 브랜치가 생성이 안됨
  • Detached Head 문제가 생길 수 있음
    • HEAD가 특정 브랜치가 아닌 특정 커밋을 직접 참조하고 있는 상태
    • 이 상태에서 커밋을 하고, 다른 브랜치로 checkout 하면 해당 커밋은 GC에 의해 삭제됨

git checkout -b (로컬 브랜치명) origin/(원격 브랜치명)

  • 이렇게 하면 로컬 브랜치가 생성됨!

git checkout --track origin/(원격 브랜치명)

  • 로컬 브랜치명을 따로 짓지 않고 그대로 사용하기 위해선 --track 이나 -t 속성을 사용하면 됨

1-2. 내 repository로 forked

  • 기존 repository에서 forked 클릭

1. forked한 repository url 설정 : upstream
$ git remote set-url upstream https://github.com/(내 username)/(repository).git


2. upstream에서 프로젝트 받아오기
$ git pull upstream


3. original repository url 설정 : origin
$ git remote set-url origin https://github.com/malpipapi/2021_Algorithm_Study.git


4. pull 받아온 폴더로 이동 : [파일 - 폴더 열기 -  (repository) 폴더]
$ cd (repository)


5. 작업 브랜치로 이동
$ git checkout -b (자기 브랜치 이름) origin/(자기 브랜치 이름)

2. 작업 내용 commit, push하기

  • 원하는 대로 프로젝트 변경~
  • commit, push 할 때는 소스트리 같은 GUI를 사용하거나, terminal을 이용
  • 아래 내용은 VSCodeterminal을 기준으로 작성됨

2-1. VSCode GUI 사용

  • 문제를 푼 뒤, VSCode 세번째 탭을 보면 변경 사항이 표시됨

  • (+) 를 눌러 staged 해준 뒤, 메시지 칸에 커밋 메시지 입력

  • (v) 를 눌러 커밋

  • 가장 우측의 (...) 클릭 - 풀, 푸시 - 다음으로 푸시

    • forked 했다면 upstream으로, clone으로 받아왔다면 origin으로 push

  • 커밋 메시지는 자유롭게 하지만 서로간의 불편하지않는 선에서 최대한 간결하고 한눈에 바라볼수있게 작성

2-2. terminal 사용

$ git status
// 변경사항 중 커밋 하고 싶은 파일 확인

$ git add (파일명) 또는 (폴더명)
// 변경 사항 스테이징

$ git commit -m "커밋 메세지"
// 커밋 메세지 입력

$ git push upstream/(브랜치명) 또는 origin/(브랜치명)

3. Pull Request 만들기

  • repository - pull request - New pull request

3-1. 브랜치 선택

  • 왼쪽 브랜치 : (to) / 오른쪽 브랜치 : (from)
    • 자신의 브랜치에서 작업한 내용을 develop 브랜치에 합쳐줄 것이기 때문에
      develop :arrow_backward: (자기 브랜치) 선택
  • 커밋 내용 맞는지 확인하기!

3-2. pr 내용 확인

  • 커밋 파일 맞는지 한번 더 확인
  • 리뷰어 추가 : 리뷰어가 승인해야 PR을 Merge 할 수 있음
  • 이슈 추가 : 해당 PR에 맞는 issue 추가하기
    • Linked issues에서 추가 가능


흐름 정리

1. git clone 받아오기
$ git clone https://github.com/(username)/(repository).git

2. 프로젝트 폴더 이동
$ cd (repository)

3. remote url 설정
$ git remote add origin https://github.com/(username)/(repository).git

4. origin pull 받아오기
$ git pull origin

5. 내 브랜치 확인하기
$ git branch -v

6. 내 브랜치로 이동
$ git checkout -b (로컬 브랜치) origin/(원격 브랜치)

7. 작업 후 커밋, 푸시하기

$ git add (커밋 할 파일)
$ git commit -m "커밋 메세지"
$ git push origin/(내 브랜치)

8. pull request 생성하기

  • Pull request - new pull request
  • base : develop ◀ compare : (내 브랜치)
profile
slow and steady wins the race 🐢

0개의 댓글