상세 컨텐츠

본문 제목

[GitHub] Github와 NVM 설치

메타버스 백엔드 웹반

by thisnorm 2025. 1. 10. 17:47

본문

 

1. Branch 관리와 협업

협업 시, 모든 팀원이 master 브랜치를 사용하면 작업 내용을 추적하기 어렵고, 충돌을 일으킬 수 있습니다. 이를 방지하기 위해 각 팀원은 역할에 맞는 branch를 생성하고 작업합니다. 각 브랜치는 특정 기능이나 작업을 진행하는 단위로 활용됩니다.

 

 

 

브랜치 생성 및 확인

  • git checkout -b <브랜치명> 명령어로 새로운 브랜치를 생성하고 동시에 체크아웃합니다.
  • git branch 명령어로 현재 브랜치와 다른 브랜치들을 확인할 수 있습니다.

 

 

 

Tip

  • Alt + Shift + 아래: 현재 줄을 아래로 복사
  • Ctrl + Enter: 커서가 있는 줄에서 바로 다음 줄로 내려감

 

 

 

GitLens 확장 프로그램

VSCode에서 GitLens 확장 프로그램을 사용하면, Git의 commit 상황을 시각적으로 잘 보여주며, Undo commit 기능을 통해 이전 상태로 되돌릴 수 있어 협업에 유용합니다. 기본 무료 버전으로도 충분히 활용 가능합니다.

 

 

 

README.md 작성 습관

레포지토리의 README.md 파일은 다른 팀원이나 외부 사람이 프로젝트에 대해 쉽게 이해할 수 있도록 작성하는 것이 좋습니다.


2. 브랜치 병합

  • 브랜치를 병합하려면 Pull Request (PR) 를 생성하고, 병합하려는 브랜치와 병합 대상 브랜치(보통 master) 사이에서 비교 후 요청을 작성합니다.
  • PR에서 Files Changed 탭에서 변경된 코드를 한 줄씩 리뷰할 수 있으며, 필요에 따라 승인 규칙을 설정할 수 있습니다. 예를 들어, 팀장만 병합 권한을 갖거나, 여러 명의 승인이 필요하도록 할 수 있습니다.
  • 원격에 없는 branch를 로컬에서 push 하려고 하면 오류가 난다.
git push --set-upstream origin Board
 
  • README.md는 보통 document branch를 따서 수정한다.

 

 

 

 

병합 과정

  • PR 작성 후, 리뷰를 받은 뒤 병합할 수 있습니다.
  • 병합 전에 convention (규칙)을 설정하여 코드 스타일을 통일시키는 것이 중요합니다.

 

3. 충돌(Conflicts) 해결

  • 다른 브랜치에서 동일한 파일을 수정하고 병합하려 할 때 충돌이 발생할 수 있습니다.
  • Git에서는 충돌을 해결하기 위해 코드 내에서 충돌 부분을 <<<, ===, >>> 형태로 표시합니다. 개발자는 이 부분을 확인하고 수동으로 수정한 후 병합을 완료합니다.

 

  • 같은 파일에 대하여 서로 다른 branch가 관여를 하고 병합을 요청했을 때 일어난다.
    • master가 두 관계자를 부른 뒤 합의를 보고 문제가 되는 파일에 대하여 수정한다.
    • 파일을 수정하고 최종 병합을 하면 합의를 본 내용이 master branch로 병합된다.

충돌 예시

bash

<<< 1 name
...
...codes...
...
=========
...
...diffcodes...
...
>>> 2 name
 

 

 
  • 충돌을 해결한 후, Mark as resolved를 클릭하여 충돌을 해결하고 병합을 진행합니다.

 

 
  • 이후 다시 PR에서 merge 부분이 활성화되면 병합하여 팀원들에게 재배포할 수 있다.

 

 

4. 주요 Git 명령어

📌현재까지 Git과 Github 주요 명령어 및 핵심을 정리하면

- 주요 명령어
    - `git init` 을 통해 초기화(처음 필수)
    - `git status` 깃 상태 확인
    - `git add filename.txt` or `git add .` 변경사항 스테이징
    - `git commit -m “내용”` 스테이징된 내용 커밋
    - `git clone <저장소 url>` 원격 저장소 클론
    - `git remote add <원격 저장소> <저장소 url>` 원격 저장소 연결
    - `git push` 연결된 원격 저장소로 푸시
    - `git pull` 연결된 원격 저장소의 내용을 로컬로 업데이트
    - `git branch` 브랜치 확인
    - `git branch <새로운 브랜치>` 브랜치 생성
    - `git checkout <브랜치>` 브랜치 체크아웃(로그인)
    - `git checkout -b <새로운 브랜치>` 브랜치 생성하며 체크아웃하기 동시에
    - `git log` 커밋 이력 보기
    - `git log -oneline` 커밋 제목만 보기
 

 

5. 팀장 권한 설정

팀에서 병합을 관리할 때, Ruleset을 설정하여 팀장만 병합할 수 있도록 하거나, 몇 명 이상 승인이 필요한 규칙을 설정할 수 있습니다. 병합 권한을 잘 관리하는 것이 중요합니다.

 

6. 커밋 메시지 규칙

커밋 메시지는 코드 변경 내용을 명확하게 전달하는 중요한 요소입니다. 일관된 메시지 규칙을 설정하여 팀원 간의 소통을 원활하게 할 수 있습니다.

 

일반적인 커밋 메시지 규칙 예시

 
사진 삭제

사진 설명을 입력하세요.

 

추가적으로 많이 쓰는 메시지 규칙

  • feat: 새로운 기능 구현
  • fix: 버그 수정
  • refactor: 코드 리팩토링
  • chore: 기타 작업 (예: 라이브러리 추가)
  • docs: 문서 수정
 

7. NVM(Node Version Manager) 설치

Node.js의 버전을 관리하기 위해 NVM을 사용하면, 다양한 버전의 Node.js를 쉽게 설치하고 사용할 수 있습니다.

 

NVM 설치 방법

  1. NVM 설치 페이지에서 nvm-setup.exe를 다운로드합니다.
  2. nvm install --lts 명령어로 LTS 버전을 설치합니다.
  3. nvm use lts 명령어로 LTS 버전 사용을 설정합니다.
  4. node 명령어로 Node.js를 사용할 수 있습니다.
cmd로 들어가서
nvm install --lts
명령어로 설치를 한다.

다음에
nvm use lts
명령어를 실행하면 권한 설정이 나온다.
그러고 나면 node js를 사용할 수 있게 된다.
 

node 관련 라이브러리를 설치하는 곳 → npm

개발 후 유지보수할 시에 처음 개발했을 때 썼던 node 버전으로 맞춰서 수정해야 원활하다.

 

 

 

예시

cmd에서 node를 실행 후
console.log("Hello")
명령어를 실행하게 되면 잘 출력된다.
Ctrl + c 를 누르면 console에서 나오게 된다.
 

 


8. 마무리

Git과 GitHub을 사용한 협업에서 중요한 것은 명확한 규칙 설정과 원활한 커뮤니케이션입니다. 충돌을 해결하고 병합하는 과정에서 항상 팀원들과 협력하고, 일관된 규칙을 따르는 것이 중요합니다.

관련글 더보기