메타버스 백엔드 웹반

[GitHub] Github와 NVM 설치

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