Git 으로 협업하기

새벽로즈·2023년 10월 5일
0

TIL

목록 보기
20/72
post-thumbnail
post-custom-banner

Git은 협업과 코드의 버전관리에 매우 유익한 도구다.
어제 깃 특강을 들었지만 협업 관련해서 정리해보았다.

1. gitignore

깃 레파지토리에 담으면 안되는 파일을(용량이 많거나 굳이 추가하지 않아도 되는 파일)을 무시할 수 있다.

  1. git init 한 폴더에 .gitignore 라는 파일을 만든다.

  2. 파일 안에 무시할 파일들을 추가한다. 한줄에 하나씩 입력하는 식으로

2-1. 폴더 째로 무시하고 싶은 경우
폴더 이름/
예시 : project/

2-2. 특정 확장자만 무시하고 싶은 경우
.확장자
예시 :
.txt

2-3. 특정 폴더의 특정 파일만 무시하기
폴더명/파일명
예시 : project1/redme.txt

주의사항 : 이미 커밋을 하거나 ADD해서 스테이징 된 상태라면 제거해야 함
git rm redme.txt

2. git add *과 git add .의 차이

둘 다 모든 파일을 add 하는 것인데 약간 다른 점은 위의 무시한 파일들을 같이 넣느냐 안넣느냐 차이다.

  • git add * : gitignore 한 파일 포함 모두
  • git add . : gitignore 한 파일 제외 모두

git 시작하기

  1. 폴더를 만들어서 필요한 코드나 자료들 넣기
  2. 비쥬얼스튜디오 코드를 켜서 폴더 열기로 해당 폴더를 열기
  3. 터미널에서 git init 입력
  4. 터미널에서 git add . 입력해서 스테이징하기
  5. 터미널에서 git commit -m '커밋내용'으로 커밋
  6. git remote add origin 깃주소.git
  7. git branch -M main
  8. git push -u origin main

이런 프로세스로 진행한다.

6번의 git remote add origin 깃주소.git에 관련해서 약간의 메모를 달아본다.
일단 깃허브에서 레파지토리를 만들고 그 레파지토리를 로컬(내 컴퓨터)의 코드를 연결하기위해 사용한다.

git push 깃주소 브랜치명 이렇게 계속 적게되면 너무 길기도 하고 사용하기 편하게
git remote add origin 깃주소.git을 쓰면 그 뒤로는 git push origin 으로 하기만 하면 push가 되는 것이다.

6번에 origin이 아닌 다른 명칭도 사용할 수 있다.
push 할 때 다른 명칭을 사용했다면 그 명칭대로 push 해야 한다.

만약에 팀 내에서 레파지토리를 같이 협업하는 경우

  1. 해당 레파지토리를 만든 사람이 먼저 초대를 해야 원활하게 사용이 가능하다.
    초대하는 방법은 해당 레파지토리의 settings의 Collaborators를 클릭한 후 add people해서 github에 가입한 메일이나 사용자명을 입력해서 초대하면 된다.

  2. 초대받은 사람은 메일함에 접속해서 수락하면 정상적으로 완료 된다.

  3. 새로운 작업 폴더를 만든다.
    터미널 : mkdir 폴더명

  4. 터미널을 열어서 새로운 폴더의 경로로 이동한다.
    상위로 가려면 cd ..
    폴더로 가려면 cd 폴더명

  5. 클론한다.
    git clone 깃주소.git
    예시) git clone https://github.com/allone9425/git_study.git

클론을 할 깃 주소는 코드를 클릭하면 복사 할 수 있는 버튼을 누르면 된다.

  1. 터미널에 ls를 입력해서 무사히 클론되었는지 확인한다.

  2. 만약 폴더가 보인다면 그 폴더 내로 이동해야한다. cd 폴더명

  3. 브랜치를 사용하는 경우
    git branch 브랜치명
    예시) git branch leaf
    위 명령어로 브랜치 생성이 가능함

  4. git switch 브랜치명으로 브랜치 이동
    예시) git switch leaf

  5. 해당하는 소스를 수정함

  6. git add . 과 git commit -m "커밋내용"을 입력한다.

  7. git push -u origin main 한다.

  8. 오류 중에서도 만약에 팀원이 커밋을 먼저 했다면 당겨야한다.
    git pull -u origin main
    만약 여기서 처음 연결할때 origin이 아니면 그 명칭대로 pull해야 한다.
    내가 수정한 코드랑 합쳐진다.

  9. 다시 add과 commit 후 push 한다.
    (11 ~ 12 내용 동일)

    브랜치?

    브랜치가 왜 필요할까? 브랜치가 뭘까?
    쉽게 말해서 사본이라고 생각하면 쉬울 것 같다.

    내가 게임을 운영하는 운영자라는 가정하에 예시를 들어보자면,

별 온라인이라는 게임을 오픈 했고 유료상점을 업데이트했는데 그게 하필이면 중대한 버그가 생겼다. 일단 서비스가 운영중이니까 거기서 버그를 고치기엔 애매하다.
그래서 브랜치를 만들어서 버그를 고치고 그 고친 내용을 원래 게임에 적용을 하는 것이다.

아니면 신기능을 개발하려하는데, 혹시 모를 경우를 대비해서 안전하게 브랜치에서 개발하는 경우

또는 팀원들과 하는데 각각 맡은 부분을 편하게 따로 따로 개발하기 위함도 있다.

브랜치 관련 명령어 일부

브랜치가 깃허브(웹사이트)에 연결되어있는지 궁금하다면?
git branch -r

현재 터미널에서 내가 어느 브랜치에 있지?
git branch

브랜치를 이동하고 싶어
git switch 이동할 브랜치

브랜치 지울래
git branch

profile
귀여운 걸 좋아하고 흥미가 있으면 불타오릅니다💙 최근엔 코딩이 흥미가 많아요🥰
post-custom-banner

0개의 댓글