본문 바로가기

공부/GIT

24.07.19 Git 팀 프로젝트 진행

반응형

초기 세팅을 해야 되는 이유 📖

1. 초기 파일 생성

초기 세팅을 해야 하는 이유는 프로젝트의 일관성을 유지하고 모든 팀원이 동일한 환경에서 작업할 수 있도록 하기 위해서 진행합니다!
  • index.html : 웹 애플리케이션의 메인 HTML 파일
  • style.css : 스타일링을 위한 CSS 파일
  • common.js : javascript 파일
<!-- index.html -->
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Team Project</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Welcome to our Team Project</h1>
    <script src="common.js"></script>
</body>
</html>

 

2. 프로젝트 환경 설정

개발 환경을 일정하게 유지하기 위해 다양한 설정 파일들을 추가!

ex) .prettierrc, .gitignore, firebase, package.json 등등

 

  • .prettierrc
// .prettierrc
{
    "semi": true,
    "singleQuote": true,
    "tabWidth": 2
}

 

  • .prettierrc
# .gitignore
node_modules/
dist/
.env

 

Git 세팅 및 Github에 Push 하기까지의 과정 📖

1. 로컬 저장소 초기화

  • 먼저 로컬 저장소를 초기화합니다.
git init

 

  • 원격 저장소 연결
git remote add origin <github주소>

 

Github 주소를 origin이라는 이름으로 세팅을 하겠다~라는 뜻입니다! "origin"은 변수 역할을 할 뿐! 다른 이름으로 사용해도 상관없습니다!

 

제대로 연결이 됐는지 확인하기 위해서 git remote -v 명령어를 사용하면 확인할 수 있습니다!

origin 변수에 할당 된 주소 확인

 

  • 브랜치 설정 및 파일 추가
git branch -M main
git add .

 

현재 내 브랜치를 master -> main으로 바꾸겠다~! 그리고 모든 파일을 트래킹 하겠다!

 

 

  • 커밋 및 푸시
git commit -m "내용 입력"
git push -u origin main

 

변경 사항을 커밋하고 원격 저장소에 push~! push와 origin 사이에 -u 속성을 추가해 주면 'git push' 명령어만 사용해도 'origin' 원격 저장소의 'main' 브랜치에 푸시됩니다.

 

초기 세팅 완료 후 클론하는 방법 📖

  •  초기 세팅 완료 후, 팀원들은 저장소를 클론 하기
git clone <github주소>

 

Pull Request 생성 및 병합 방법 📖

1. Pull Request 생성

  •  새로운 기능을 개발할 때는 새로운 브랜치를 생성해서 작업합니다.
git checkout -b feature-branch

 

-b 속성'feature-branch'를 생성하고 해당 브랜치로 이동한다는 명령어입니다!

 

  • 작업이 완료되면 변경 사항을 커밋하고 원격 저장소로 푸시합니다.
git add .
git commit -m "내용 입력"
git push origin feature-branch

 

원격 저장소로 push 후 Github에 Pull Request를 생성합니다.

 

2. 코드 리뷰 및 병합

  • 팀장은 Pull Request를 리뷰하고, 필요한 경우 수정 요청(comment)을 합니다. 모든 검토가 완료되면 Pull Request를 진행합니다!

 

충돌 해결 방법 💥

1. 충돌 원인 파악

동일한 파일의 같은 부분을 여러 명이 수정할 때 발생하기 때문에 충돌이 발생하면 수동으로 해결해야 합니다.

 

2. 충돌 해결 방법

  • 1. 충돌이 발생한 파일을 열고 충돌된 부분을 '<<<<<<<', '=======', '>>>>>>>' 해당 특수문자들로 표시됩니다.
  • 2. 각 구분자를 기준으로 어느 부분을 유지할지 결정합니다.
<h1>안녕하세요</h1>
<h2>반갑습니다</h2>
<<<<<<< HEAD
<h3>고양이</h3>
=======
<h4>토끼</h4>
>>>>>>> aca455fcdac34cadc....

 

  • 같은 영역 내에서 충돌이 발생했을 때 만약 '고양이'만 살리고 싶다면?
<h1>안녕하세요</h1>
<h2>반갑습니다</h2>
<h3>고양이</h3>

 

고양이만 놔두고 나머지 충돌 부분은 제거하면 됩니다.

 

  • 반대로 고양이를 지우고 '토끼'만 살리고 싶다면?
<h1>안녕하세요</h1>
<h2>반갑습니다</h2>
<h4>토끼</h4>

 

  • 모두 살려야 한다면 충돌 지점을 알려주는 기호들만 삭제하면 됩니다.
<h1>안녕하세요</h1>
<h2>반갑습니다</h2>
<h3>고양이</h3>
<h4>토끼</h4>

 

 

  • 3. 충돌 해결 후 파일을 원격 저장소로 푸시합니다.
git add .
git commit -m "내용 입력"
git push origin <branch>

 

깨달은 점 ❕

팀프로젝트를 진행하면서 초기 세팅, 클론, Pull Request 생성 및 병합 그리고 충돌 해결까지 모든 과정을 경험하고 이해하면서 앞으로 있을 팀프로젝트를 좀 더 성공적으로 진행할 수 있을 것 같은 느낌이 들었습니다.

 

회고 🧐

튜터님의 조언

1. 커밋 로그가 지저분하다면 pull request  할 때 rebase를 이용해 보자!

2. 잘 된다면 pull 받아 올 때도 rebase 도전!


 

반응형

'공부 > GIT' 카테고리의 다른 글

슬랙(Slack)에 깃허브(Github) 알람 연동하기  (0) 2024.08.01
Git & Github 협업하는 방법 (Pull Request)  (0) 2024.08.01
Github Pages 사이트 배포하기  (0) 2024.07.29
git, github 정리  (0) 2024.07.22