Git Workflow 이해하기 1

호두·2023년 1월 26일
0

git

목록 보기
2/3
post-thumbnail

깃을 처음 접하는 팀원들을 위해 작성한 간단 가이드입니다.

1. 깃이란? 깃을 사용하는 이유는?

깃은 '프로젝트를 버전별로 클라우드에 업로드/다운로드 받는 프로그램'이라고 이해합시다. git cmd에 다양한 깃 명령어를 써서 실행할 수 있습니다.

여러명이서 똑같은 상태의 파일에 작업하기 위해 사용합니다. 나의 pc에서 html을 수정했다면 내 팀원도 수정된 버전을 사용해야 하니까요! 업로드할 땐 push, 다운로드할 땐 pull 명령어를 사용합니다.

2. 깃허브란? 깃허브를 사용하는 이유는?

깃허브는 구글 드라이브, 네이버 클라우드와 같은 '클라우드'의 일종입니다. 이름만 비슷할 뿐 깃과 직접적인 연관성은 없으며 깃허브를 필두로 여러 사이트가 존재합니다. (= 깃으로 다른 클라우드 사이트에 업로드할 수도 있겠죠?)

3. 깃허브 기초 개념

레포지토리(repository): 저장소! html, css, java파일 등이 들어가는 깃허브의 폴더입니다. 크게 리모트 레포지토리(=원격저장소, 깃허브에 존재)와 로컬 레포지토리(=로컬저장소, 내 PC에 존재)로 나뉩니다.

오가니제이션(organization): 깃허브 안의 모임. 우리 조의 오가니제이션은 (https://github.com/ezendev) 이곳입니다. 이 안에도 레포지토리를 생성할 수 있습니다.

우리의 이번 프로젝트 파일은 1조 오가니제이션 안의 'seoulforyou'라는 이름의 레포지토리(https://github.com/ezendev/seoulforyou) 에서 관리합니다.

그런데!? 우리는 혹시 모를 상황을 대비해 원본 레포지토리의 사본을 만듭니다. (fork한다고 표현)

6명 모두 사본 레포지토리에서 각자 코딩을 하되, 어느정도 진행이 되면 이 파일을 검토하고 원본 레포지토리에 올려주세요 하는 요청을 합니다. (pull을 request한다, pr한다고 표현) 이런식으로 원본 레포지토리 내용물을 완성해나갑니다.

4. 깃으로 프로젝트 관리하기(요약 | 상세 문서를 보면서 다함께 실습해요!)

  • 사전 준비 단계 - 최초 1회

    1. 프로젝트 폴더 지정하기
    2. 개발자 토큰 발급받기
    3. 깃허브에 사본 레포지토리 만들기
    4. 위의 리모트 레포지토리를 내 PC와 연결하여 로컬 레포지토리 만들기
  • 파일 업로드(push)하기 - git push origin main

    1. 로컬 레포지토리의 어떤 파일들을 깃허브 리모트 레포지토리에 업로드할 것인지 지정하기(add, commit)
    2. 리모트 레포지토리에 업로드하기
  • 파일 다운로드(pull)하기 - git pull origin main

    1. 리모트 레포지토리에서 로컬 레포지토리로 파일을 다운로드하기 (끝)
  • 팀원과 협업하기 - Upstream에 pull 요청을 보내기, 승인하기, pull해오기

    1. pull request 보내기("이 파일을 검토하고 원본 레포지토리에 올려주세요!"
    2. pull request 승인하기("검토완료, 변경된 파일을 upstream에 합칠게요!")
    3. 변경된 upstream을 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
profile
web developer

0개의 댓글