혼자하는 Git/Github : 전체적인 흐름 알아보기 - 상

0andme·2021년 7월 30일
1

git/github

목록 보기
2/5
  • 모두가 다음과 같은 흐름으로 작업을 하지 않으며 개인의 작업 흐름을 정리해둔 글입니다.
  • git/github 사용의 전체적인 흐름을 파악하고 이해해보는 것이 목표입니다
  • 이 글은 나의 원격 저장소로컬 저장소만을 다룹니다.
  • git 명령어들을 이해하고 있다는 가정하에 작성한 것입니다.

윈도우 환경에서 실습을 진행
vim 으로 커밋 메세지를 작성
CLI 환경만 이용

전체적인 흐름

위의 이미지 크게 보기

이 글에선 원격 저장소에 branch를 푸시하는 4번까지의 과정을 설명합니다.
다음 단계인 5단계 풀리퀘스트보내기, 6단계 원격저장소 브랜치 로컬에 가져오기 보러가기 >> 링크
예시와 함께 이 글을 읽어보세요 >> 링크


1. 원격 저장소를 로컬에 복제하기 : clone

clone의 흐름

이미지 크게 보기

작업 초기에 가장 먼저 실행하는 작업이며 나의 경우 로컬에서의 작업 내역이 아예 없을 때 사용한다. 로컬에서 로컬저장소를 만들고(git init) 원격저장소와 연결하는 것(git remote add origin github주소 )보다 입력할 명령어가 적기 때문에 실수할 일이 거의 없어 주로 사용한다.

  1. github에서 생성한 저장소를 내 컴퓨터에 가져오기 위해 저장소를 가져올 폴더에서 git bash 창을 열어 아래 명령을 입력한다.

    git clone github주소

  2. 위의 명령어를 치고 bash명령어를 실행했던 폴더를 가보면 원격저장소 이름과 동일한 폴더가 생성되어있을 것이다. 그 폴더 안에 .git폴더가 있다면 로컬저장소가 생긴 것이다.(숨김 해제를 해야 보인다)

  3. 위의 내용대로 실행했다며 현재 bash창을 열었던 폴더에서 생성된 저장소 폴더로 이동하는 과정도 빼트리지 말아야한다. 생성된 저장소 안에서 git bash를 열어도 된다.

    cd 생성된 로컬 저장소 주소(폴더이름)



2. 로컬 저장소에 새로운 branch 만들고 이동하기 : branch와 checkout

이미지 크게 보기
  • 협업뿐 아니라 개인의 작업을 위해서도 가장 중요한 부분이라고 할 수 있다.

  • 새로운 영역을 만들어 main branch의 영역을 건들지 않는 작업이다.
    나의 경우 main branch를 최종의 최종의 최종만 담는 공간이자 나의 사수만 관리하는 공간이라고 생각하며 작업한다. 로컬 저장소에서 main branch로 checkout하는 일이 거의 없다. (혼자 작업하는 경우에도 동일)

    git branch 생성할 브랜치명

  • 이렇게 생성한 브랜치로 이동하기 위해서는 아래의 명령어를 사용한다.

    git checkout 이동하고자 하는 브랜치명



3. 로컬 저장소에서 작업하고 커밋까지 하기 : add와 commit

이미지 크게 보기
  • 위의 과정을 모두 진행하고 나서는 저장소안에서 자유롭게 작업을 시작하면 되고 항상 잊지말아야 할 것은 현재 브랜치가 어디인지이다.
  • 작업을 마치면 add와 commit을 진행한다.
    add를 이용하여 스테이지에 올린 파일들을 하나의 덩어리로 묶는 것이 commit이다.
  • 아래의 명령어를 이용하여 덩어리로 묶고자하는 파일들을 전부 스테이지에 올린다.

    git add 파일명.확장자

  • add를 통해 스테이지에 올린 파일들을 한 덩어리로 묶는 commit을 실행한다.

    git commit

커밋 메시지 규칙과 커밋 컨벤션 정리


4. 원격 저장소에 branch 푸시하기 : push

이미지 크게 보기
  • 로컬 저장소에 쌓인 커밋들을 원격저장소에도 저장하기 위해 push 명령어를 사용한다.
    이때 원격 저장소의 main이 아닌 현재 로컬 브랜치와 동일한 이름의 branch에 작업을 올린다.

    git push origin 브랜치명

  • git push -u 옵션을 사용하면 다음 push때 매번 브랜치명을 적지 않고 git push명령어만 입력해도 파일들이 자동으로 해당 branch에 저장된다. 그러나 나의 경우 -u옵션을 사용하고 나서도 확실히하는 차원에서 'git push origin 브랜치명' 을 사용한다.

    git push -u origin 브랜치명


profile
개발이 하고 싶어? 정말 하고 싶긴 한거야?

0개의 댓글