Skip to content

GitLab_Setting

Park Sangwoo edited this page Apr 14, 2021 · 2 revisions

How to GitLab Setting 🦊

Start 🔥

  1. image

    SSAFY_FINAL_PROJECT의 repository를 본인의 계정으로 Fork를 시켜옵니다.

  2. image

    local에 fork git에 대한 clone 작업을 진행합니다.

    git clone [repository 주소]
  3. image

    개인의 fork repository와 다른 개발자 분들과 함께 진행하고 있는 공용 repository(이하에서는 master repository작성하겠습니다.)를 연결지어주는 작업을 진행합니다.

    가장 먼저 연결되어 있는 repository가 있는지 확인합니다.

    git remote -v

    이후 fork repository와 master repository와 연결을 진행합니다.

    git remote add upstream [master repository]

    연결이 잘 되었는지 확인합니다. (위의 그림 참고)

    • 상단에 fetch, push의 fork repository 주소
    • 하단에 fetch, push의 master repository 주소
    git remote -v

Project 작업수행 🔥

위의 과정이 끝났다면 이제 작업할 수 있는 기본 git setting이 끝난겁니다.

README를 update하여 test 작업을 진행하는 과정으로 진행해보겠습니다. (commit convention에 관한 내용은 convention내용을 참고하길 바랍니다. 😎)

  1. image

    • development branch로 이동합니다.
    • 작업할 이슈에 대한 이슈 번호를 확인합니다.
  2. image

    development branch 위치를 확인한 후

    • branch를 생성합니다.

      git branch feat/타입/기능
    • 생성한 branch로 이동합니다.

      git checkout [target branch]
    • image

      원래 위치에서 생성한 branch로 올바르게 바꼈는지 확인합니다. (위 사진 참고)

  3. image

    작업하는 프로젝트가 끝난 이후 add과정과 commit message 를 입력합니다. (Convention 확인😎)

  4. image

    git pull --rebase upstream development
    • push를 날리기전에 현재 본인이 작업한 파일이 다른사람에 의해서 수정이 되어서 충돌이 일어날 요소인지에 대해서 확인합니다.

    • 만약 오류가 발생하게 되면 🚨

      • 예시 사진입니다. image

        이런 모습의 오류를 볼 수 있습니다. 해석해보면 feature-71 branch에서 commit 을 3개를 날렸는데 그 중 2개가 다른 사람과 충돌이 발생했다.

      • 이때 해결할 방법은 이 상태를 그대로 두고, 작업하던 파일로 이동합니다.

      • 이후 작업파일에 보면 충돌날 지점에 오류메세지가 뜨면서

        • 다른 사람이 작업한 내용
        • 내가 작업한 내용

        이렇게 두개의 코드가 나타날 것입니다.

        이때 두 코드를 참고해서 해당 로직을 수정한 후 작업을 진행하면 됩니다.

      • 작업 수행이 끝난 다음 모든 충돌 오류를 해결하고 나면

      • git add *
      • // 다시 다른 사람과 코드가 중복 되었는지 확인합니다. 
        git rebase --continue
  5. image

    • 이후 해당 feature branch를 타겟으로 push를 날립니다.
  6. image

    fork repository나 master repository 위치에 상관없이 위의 메세지를 볼 수 있습니다. 여기서 Create merge request를 클릭합니다.

  7. image

    • Title은 Commit Convention을 동일하게 적용시킵니다.

    • Description에 주요 기능을 약속한 git cz를 기반으로 작성해줍니다.

      • 이때 - (대시) 를 붙인 후 마크다운 형식으로 작성해야 줄바꿈이 됩니다.
      • 상세내용 예시
        • [지라 이슈 번호] feat : 자동 로그인 기능 추가 (혹시 다른 이슈에 대해서도 작업을 했다면)
        • style : 세미콜론 누락 추가
        • refactor : 코드 리펙토링 작업 진행
  • Assignee와 Labels를 설정합니다.

    • Assignee는 본인
    • Labels는 JIRA 기준 components 기준으로 라벨을 달아주세요!
  • Target branch가 올바른지 확인해주세요.

    • 더이상 해당 브랜치를 필요하지 않다면 Remove source branch when merge request is accepted를 클릭해주세요.

  • 위의 모든 과정이 확인 했다면 대망의 Submit merge request!

수고하셨습니다 😀

Clone this wiki locally