Git을 통해 협업하기

이전 포스트를 통해 git 저장소를 만들었다면, 협업을 할 차례입니다. 혼자 관리하는 프로젝트나 간단한 프로젝트라면 main 브랜치에 commit-fetch-pull-push하는 것으로 충분할 수 있지만, 이렇게 되면 main 브랜치가 불안정해지고 실제로 협업을 한다기 보다는 세련된 구글 드라이브와 다를 것이 없게 됩니다.

소개원실 수업을 들으면서 협업 프로세스에 대해 배웠는데, 이를 정리해둡니다. 편의상 평어체로 작성하겠습니다.

앞으로 작업할 때는, main에 직접 작업하지 말자.

  1. 메인과 동기화한다.
    • 가능하면 최신 버전과 동기화 후 작업합니다.
    • git fetch; git pull origin;
  2. 브랜치를 생성하고, 새로운 브랜치에서 작업한다.
    • 새로 작업할 피쳐나, 고칠 버그 단위로 브랜치를 나눈다
    • git branch bug-1; git checkout bug-1;
    • git add <some files>; git commit -m "commit message";
      • git commit --amend (직전 커밋에) 내용물을 추가합니다. 씬 저장을 깜빡했다거나 할 때 유용합니다.
      • git reset --soft HEAD~1 결과적으로 직전 커밋을 했던 것을 무효로 하고 스테이징 영역으로 되돌립니다.
    • git log --all --decorate --oneline --graph
      • git adog로 유명하며, CUI 환경에서 커밋 로그를 예쁘게 보여줍니다.
  3. 브랜치를 푸시한다. 풀 리퀘스트를 할 수 있게 된다.
    • 푸시를 하고 나면 커밋 로그 등을 고치기 훨씬 어려워지니, 일단 커밋을 atomic하게 해 놓고 푸시를 하도록 합시다.
    • git push
    • git push origin bug-1
  4. 머지를 할 수 있다면 메인에 머지한다. 안 된다면 계속 작업한다.
    • 풀 리퀘스트를 보내거나 머지가 가능한지는 github 웹사이트에서 친절하게 보여줍니다.
  5. 풀 리퀘스트로 머지를 하게 되면 원격에서는 브랜치를 삭제한다.
    • 이것도 마찬가지로 github 웹사이트에서 가능합니다.
  6. 그러면 이제 메인을 동기화하면 된다.
    • git fetch; git pull origin;
    • git checkout main
    • git branch -d
  7. 다른 작업을 하고 싶다면 2번부터 다시 시작하면 된다.
*****
긍정적인 영향을 주는 사람이 됩시다
Served using home raspberry pi 3 B+
☕ Pudhina theme by Knhash 🛠️