Git

깃허브 협업하는 방법

Puft 2025. 4. 10. 08:40

 

1. git 초기 설정

git 다운 후 실행 32-bit Git for Windows Setup 클릭  
설치 옵션
  1. Git Bash Here 옵션 체크
  2. Git GUI Here 옵션 체크 (선택)
  3. Add to PATH 옵션 체크
  4. Git LFS 옵션 체크(선택)
  5. Associate .git* ~~ 옵션 체크(선택)
  1. Windows 탐색기에서 우클릭하여 Git Bash를 사용할 수 있게 합니다.
  2. GUI 환경도 같이 설치합니다.
  3. 명령어로 Git을 사용하기 위해 반드시 필요합니다.
  4. 대용량 파일 지원
  5. 기본 텍스트 에디터에 git 구성(.git 확장자) 연결
bash에서 사용자 이름, 이메일
주소 설정
git config --global user.name "사용자이름"
git config --global user.email "사용자이메일@example.com"
ex) git config --global user.name "sdedu"
ex) git config --global user.email "sdedu@example.com"
확인하기 git config --list 설정 정보 확인

2. 협업 준비(연결)

  프로젝트 폴더에서 bash
(경로 설정 되어있음)
or
경로 설정
ex) cd ~/Desktop/project/jotai
cd a : 현재 경로에 a를 추가
(현재 경로안에 a로 들어가겠다)

cd .. : 현재 경로에서 한번 나가겠다
Git 초기화
(로컬 저장소 만들기)
git init .git 폴더가 생성되고
이 폴더 안에 Git 관련 정보들이 저장됨
  GitHub 원격 저장소 만들기 후
원격 저장소 주소 복사
예: https://github.com/사용자명/jotai.git
로컬 저장소와 원격 저장소 연결 git remote add origin “붙여넣기” ex ) git remote add origin http://github.com/test/test.git
우클릭 후 paste해야 붙여넣기 가능
로컬 저장소를 GitHub의 원격 저장소와 연결하는 명령어
확인하기 git remote -v ex)
origin https://github.com/test/test.git (fetch)
origin https://github.com/test/test.git (push)

3. 올리기

스테이징 git add . git add . : 모든 파일 스테이징
git add “폴더명” : 해당 폴더만 스테이징
커밋 git commit -m "초기 프로젝트 설정 및 커밋" 업로드할 내용에 대한 간단한 설명
푸쉬 git push -u origin main 푸쉬하기
푸쉬 오류시
(main 브랜치가 아닐 시)
git branch 브랜치 확인
git push -u origin master
main브랜치가 아니고 다른거면 해당 브랜치 이름으로
강제 푸쉬 git push origin a:b --force a를 기반으로 b에 강제로 덮어씌우면서 푸쉬
충돌 관리
(Conflict Handling)
여러 사람이 동시에 같은 파일을 수정했을 경우, 충돌(Conflict) 이 발생할 수 있습니다.
예를 들어, ab가 동시에 index.html 파일을 수정한 경우.

  • 수정 후 커밋을 다시 하고 푸시하면 충돌 해결 완료.
 

4. 내려받기

최초
(내려받은 적 없는 프로젝트일 경우)
git clone “원격저장소주소” ex )
git clone https://github.com/test/test.git
내려받은 후
(다른 팀원의 수정사항 가져오기)
git pull origin main


5. 트러블 슈팅

1 git pull origin main --strategy-option=ours 내가 한 변경 사항을 무조건 우선으로 할 때 낮음 (특정 파일만)
2 git merge -X ours origin/main 내가 한 변경 사항을 무조건 우선으로 할 때 낮음 (특정 파일만)
3 git push --force 강제로 덮어쓸 때 (모든 변경 사항 무시) 매우 위험
4 git reset --hard HEAD + git pull --rebase 전체 덮어쓰기 중간 정도 위험

 

협업을 위한 단계 

 

최초 - 모든 팀원이 프로젝트를 git clone으로 내려받는다.

1. 각자가 작업한 뒤 git add .로 스테이징 git commit -m "메시지" 로 커밋한다.

1-1. 기존의 내용 외에 추가는 2번으로, 수정은 git pull origin main --strategy-option=ours

(내가 수정한 부분을 다른 누가 수정했다면 이렇게 쓰면 안되고 직접 프로젝트에서 확인 후 다시 git add!!!)

(추가가 아닌 수정을 하게되면 깃은 달라진 부분에 대해 충돌을 일으켜 어떻게 할건지 사용자에게 물어보는데

첫째로 기존 데이터를 남길지

둘째로 나의 데이터를 남길지

셋째로 기존, 나의 데이터를 같이 남길지를

프로젝트를 열어서 직접 수정을 하고 그 후에 git add, git commit을 다시 해주게되면

사용자가 수정했구나 라고 인식하고 충돌을 일으키지 않음)

 

2. 작업 내용을 원격 저장소로 git push -u origin main 한다.

 

3. 다른 팀원들은 git pull 로 최신 내용을 가져온다.

  1. 이후 git add, git commit, git pull origin main, git push