200831_TIL

oh_ji_0·2020년 8월 31일
1

TIL

목록 보기
24/61

Today I leanred

  • simple git workflow
  • 충돌해결
  • branch
  • git workflow

오늘은 git workflow 에 대해서 학습했다. 페어와 함께 진행했는데, upstream을 따로 써본 적이 없어서 초반에 애를 먹었다. 수업 자료에 나와있는대로 진행했으면 됐는데, git remote add pair 라는 의미를 명확히 이해하지 못하고 쓰다보니 의미가 충돌 돼서 헷갈렸다. 결국 페어의 깃허브 주소를 pair 라는 이름으로 원격 저장소에 추가한다는 의미였고, 연동이 되고나서는 페어 저장소에서 브랜치 이름을 명명해서 pull로 수정사항을 당겨오고, 내가 수정한 코드는 내 원격 레포지토리에 push하면 되는 것이었다.

실습 이후, 추후 프로젝트에 사용할 git workflow에 대해서도 학습했다. 이 부분이 실습 부분과 혼동되어 헷갈렸는데 (이러니 유어클래스 진행순서를 잘 살펴봐야 하는 것 같다) 추후에 복습하면서 이 부분을 분리해서 생각하니 실습은 어려운 주제는 아니었는데 내가 헤맨 것이란 게 더 눈에 들어오더라..

오늘 깃 워크플로우는 브랜치 분리 및 pull, push는 너무 어렵기만 하고 혼자서 학습하기 어려웠는데 직접 해보니까 머릿속에 그려지고 정리가 돼서 좋았다. 아직 git workflow 부분은 안해봐서 확실히 안다고 하긴 뭐하지만 추후 프로젝트 진행시 해볼 수 있다는 게 기대가 된다.

simple git workflow

  • git fork 및 clone 후, 페어의 깃허브와 나의 깃허브를 연결하는 것이 필요하다.
git remote add pair <Repo URL for pairs fork>
git remote -v
git push origin master
git pull pair <pair branch name>

페어1이 커밋 및 푸쉬, 페어2이 풀 → 커밋 → 푸쉬. 롤을 변경하며 반복 진행.
pull은 상대편의 레포지토리에서 해와야하고 push는 자신의 레포지토리에 해야한다.

충돌해결

  • fetch

    remote 레포지토리의 변경사항을 받아오라는 의미(pull 안에 fetch가 포함돼있다)

  • git pull origin master

    → conflict 발생 시 오류를 알려줌.

    → visual studio 에서 conflict 에 나와있는 코드를 보고 선택해주면 된다.

    → 머지하고 싶은 파일로 고친뒤 git add, git commit 을 진행하면 된다.

branch

  • 사본

  • 각각의 브랜치는 서로에게 영향을 주지 않는다.

  • 깃 브랜치를 이용하여 해결할 수 있다.

  • 각자 자신의 브랜치에서 개발을 진행하고, 서로에게 영향을 주지 않고 개발을 할 수 있다.

  • 새로운 기능을 개발할 때 원본에 영향을 주지않고 다양한 시도를 하고 싶을 때 브랜치를 이용할 수 있다.

  • 브랜치 생성

    • git checkout -b <branch name>
    • b 옵션 : 기능1 브랜치를 생성하고 기능1 브랜치로 현재 작업 공간을 이동하는 두가지 액션을 함께 실행시킨다.
  • 원본을 베이스로하는 다른 브랜치를 만들고 싶다면

    • 베이스로 하고 싶은 브랜치로 작업 공간을 옮긴 후, 브랜치를 생성한다

git workflow

  • 순서 정리
    • upsteam (마스터 레포지토리) 을 나의 레포지토리로 fork.
    • git clone으로 로컬로 프로젝트를 가지고 온다.
    • 마스터 레포지토리와 로컬을 연결한다
    • 마스터 레포지토리(업스트림)는 계속 업데이트 될 것이고 내 로컬과 싱크를 맞춰줘야 한다.
    • 업스트림 데브 브랜치를 내 로컬로 pull로 당겨온다. (항상 최신화 돼있어야 한다)
    • 데브를 기준으로 새로운 기능을 개발할 feature 브런치를 생성한다. 그리고 feature 브랜치에서 작업한다.
    • 작업이 끝나면 내 레포지토리 feature 브랜치로 푸쉬한다. (새로 만든 feature 브랜치로 푸쉬해야한다)
    • 업스트림으로 PR을 날린다.
profile
기본에 충실하고 싶습니다. #Front-end-developer

0개의 댓글