깃을 처음 접하는 팀원들을 위해 작성한 간단 가이드입니다.
깃은 '프로젝트를 버전별로 클라우드에 업로드/다운로드 받는 프로그램'이라고 이해합시다. git cmd에 다양한 깃 명령어를 써서 실행할 수 있습니다.
여러명이서 똑같은 상태의 파일에 작업하기 위해 사용합니다. 나의 pc에서 html을 수정했다면 내 팀원도 수정된 버전을 사용해야 하니까요! 업로드할 땐 push, 다운로드할 땐 pull 명령어를 사용합니다.
깃허브는 구글 드라이브, 네이버 클라우드와 같은 '클라우드'의 일종입니다. 이름만 비슷할 뿐 깃과 직접적인 연관성은 없으며 깃허브를 필두로 여러 사이트가 존재합니다. (= 깃으로 다른 클라우드 사이트에 업로드할 수도 있겠죠?)
레포지토리(repository): 저장소! html, css, java파일 등이 들어가는 깃허브의 폴더입니다. 크게 리모트 레포지토리(=원격저장소, 깃허브에 존재)와 로컬 레포지토리(=로컬저장소, 내 PC에 존재)로 나뉩니다.
오가니제이션(organization): 깃허브 안의 모임. 우리 조의 오가니제이션은 (https://github.com/ezendev) 이곳입니다. 이 안에도 레포지토리를 생성할 수 있습니다.
우리의 이번 프로젝트 파일은 1조 오가니제이션 안의 'seoulforyou'라는 이름의 레포지토리(https://github.com/ezendev/seoulforyou) 에서 관리합니다.
그런데!? 우리는 혹시 모를 상황을 대비해 원본 레포지토리의 사본을 만듭니다. (fork한다고 표현)
6명 모두 사본 레포지토리에서 각자 코딩을 하되, 어느정도 진행이 되면 이 파일을 검토하고 원본 레포지토리에 올려주세요 하는 요청을 합니다. (pull을 request한다, pr한다고 표현) 이런식으로 원본 레포지토리 내용물을 완성해나갑니다.
사전 준비 단계 - 최초 1회
파일 업로드(push)하기 - git push origin main
파일 다운로드(pull)하기 - git pull origin main
팀원과 협업하기 - Upstream에 pull 요청을 보내기, 승인하기, pull해오기
push 과정 한 눈에 보기
git add * // 워킹트리에 파일 모두 추가
git commit -m "커밋메시지" // 워킹트리에 올라간 파일을 커밋메시지와 함께 묶음
git push origin main // origin에 main의 커밋&커밋메시지를 업로드
pull 과정 한 눈에 보기
git pull upstream main // upstream의 내용을 main으로 다운로드
기타 git 명령어, 키워드 모음
git status : 깃의 상태를 알려줌 // 수시로 확인해보면 도움이 많이 됩니다!
git remote -v : 로컬과 연결된 remote 보여줌
git branch : 현재 브랜치 알려줌
//통상
원본 레포지토리 별칭: upstream
fork해온 사본 리모트 레포지토리 별칭: origin