Git를 사용해서 협업을 하기 위한 방법들 정리
해당 방법은 master가 아닌, branch를 해서 작업을 하는 작업자 위주로 설명!
개념
<상황>
같이 협업하는 사람이 깃허브에 main 레포지토리를 만들어놓은 상태. (= 원격 저장소)
나는 이 repo를 가져와서 작업을 해야 한다! (= 로컬 저장소로 가져와서 작업 후 원격 저장소에 변경 내용을 저장해야 함)
개념 1. branch
원래 대장님인 repo가 있다면, 그것을 발전시키기 위해 똑같은 내용을 가져오는 것. (= 코드를 copy)
즉, 각자 병렬적으로 코드를 수정하고 다룰 수 있게 가져오는 것.
나무 기둥에서 나뭇가지가 하나씩 나오는 것이라고 볼 수 있다고 해서 branch라고 불린다.
개념 2. commit
branch에서 작업한 것들을 저장소에 잠깐 저장하는 작업.
수정을 한다고 바로 메인 기둥에 뿌리를 박아넣으면 안된다. 따라서 임시로 저장해보고, 얘기를 해본 뒤 합쳐야 한다.
따라서 commit은 내가 바꾼 코드를 기록으로 남겨서 다른 사람들이 볼 수 있도록 만드는 과정이다.
개념 3. push
내가 작성한 것을 원격 저장소에 업로드 하는 작업.
commit한 것을, 서버에 업데이트 하는 작업이라고 보면 된다.
이렇게 해야 다른 사람이 어떤 내용이 바뀌었는지 바로 확인이 가능!
개념 4. pull request *****
이렇게 push한 것을 확인해주세요 하는 작업.
즉, push한 내용을 확인해주시고 제가 바꾼 부분을 메인에 넣어주세요~
* 중요! 이때 변경 이유와 방법들을 같이 기재해야 한다. 무엇을, 어떻게, 왜, 이렇게 해서 좋은 점은 무엇인지 등등,, 다른 사람들이 내 코드를 해석하고 알 수 있기 때문에 comment를 다는 것은 정말 중요하다.
개념 5. merge
만약 내가 어떤 repo의 주인의 코드를 branch해서 더 효율적으로 코드를 바꾸고 PR(Pull Request)를 했다고 가정하자.
그러고 주인이 코드를 쭉 복기하는데 정말 맘에 든다면 이 PR을 merge하면 된다.
즉, 메인 기둥에 내가 수정한 것들을 합치는 과정인 것이다.
개념 6. pull
만약 처음 다운로드 하는 상황이 아니고 업데이트된 메인 작업 내역을 받아오고 싶을 때 사용하는 것.
즉 다시 원본을 copy해서 내꺼에 적용하기 위해 필요한 Pull.
로컬에서 사용해보기 (VSC에서 사용해보기)
1. 내가 코드를 만들고 수정할 directory로 이동 (testFile)
2. 내 로컬 pc에서 먼저 해당 디렉토리를 git 저장소로 변환하기
git init
3. test.py를 생성해서 작성 (testFile/test.py)
4. test.py를 커밋할 준비를 하기 위해 변경 내용을 임시로 저장
git add test.py
5. test.py를 commit하기 (comment 다는 것 중요하다 ! ! !)
git commit -m "add ~~ test를 하는 파일을 추가"
git commit -m "fix ~~ 수정"
commit msg를 더 직관적으로 쓰면 좋다고 하는데, 그건 아래 url 참고
Git 커밋 메시지 규칙
제목과 본문을 빈 행으로 구분한다.제목은 50글자 이내로 제한한다.제목의 첫 글자는 대문자로 작성한다.제목 끝에는 마침표를 넣지 않는다.제목은 명령문으로 사용하며 과거형을 사용하지 않
velog.io
6. 저장소에 파일 추가가 되어있는지 확인하기 (저장소에 어떤게 있는지 계속해서 확인할 수 있는 명령어)
git status
7. push를 하기 위해 원격 저장소 정보를 추가하기
git remote add origin "URL" # ""은 제외하고 url만 작성
8. test.py를 push하기
git push origin master
이렇게 작업자는 가져와서 수정한 뒤, push를 할 수 있고 이제 이를 더 실무처럼 사용한 방법은 아래 url을 참고하면 될 듯 하다!
https://6mini.github.io/git/2022/06/09/git/
[깃(Git)] 1. 작업 공간 및 흐름
[깃(Git) 기본] 깃(Git)의 네 가지 작업 공간과 기본 동작 흐름
6mini.github.io
'Environment > Ubuntu' 카테고리의 다른 글
| NVIDIA GPU 드라이버, CUDA, cuDNN 개념 간단 정리 (0) | 2026.06.04 |
|---|---|
| [우분투 22.04] VSC에서 git 사용하기 (프로젝트 늦참한 사람 전용) (0) | 2026.06.04 |
| [우분투 22.04] gcloud 설치하고 활성화 시키기 (0) | 2026.06.04 |
| [우분투 22.04] 딥러닝 환경 구축하기 (0) | 2026.06.04 |
| [우분투 22.04] OS 설치 - 블랙스크린 해결 방법 정리 (0) | 2026.06.04 |