git 연습

jplendor·2022년 3월 17일
0
post-thumbnail

STEP 1 : Working directory 만들기

  • mkdir git_practice 깃 연습을 위한 git_practice 디렉토리 생성
  • cd git_practice 해당 디렉토리로 이동 후,
  • ls -al 존재하는 폴더 및 파일 리스트를 확인해본다. 아무것도 없다.

STEP 2 : Local repository 만들기

  • git init git 저장소를 만들기 위한 초기화 명령을 실행하였다.
  • 초기화 후 다시 확인했더니, .git이 생겼다.

STEP 3 : Remote repository와 연결 및 push

  • echo "# git_practice" >> README.md README.md 라는 파일은 없으므로 새로 생성되며, 그 안에 # git_practice이 작성된다.
  • git add README.md README.md를 add한다.
    : working directory => staging area
  • git commit -m "first commit" 메세지와 함께 commit한다.
    : staging area => repository
  • git branch -M main 브랜치 이름을 변경(-M: move force)
    : master -> main
    • 브랜치 이름 변경 : git branch -m <old_branch> <new_branch>
      보통 무엇(old_branch)에서 무엇(new_branch)으로 바꿀지 두 개의 인자를 넘긴다.
      <new_branch>만 적으면 현재 위치한 branch의 이름을 <new_branch>로 바꿔준다.
  • git remote add origin https://github.com/jplendor/git_practice.git
    : 원격 저장소(github)와 로컬 저장소의 연결고리 만들어주기
    • 원격 저장소 추가 : git remote add <remote name> <repository URL>
  • git push -u origin main
    • git push <remote repository name> <branch name>
    • -u 옵션은 원격저장소의 동일한 이름의 브랜치와 자동 연결하여 업로드하게하는? 어떤 단어의 약자인지는 모르겠다. upstream?

원격 저장소에 정상적으로 올라갔다.

STEP 4 : branch 연습하기

STEP 4 예습 : branch의 종류 이해하기

  • git branch는 목적에 따라 5가지로 구분하여 사용한다.

    • 메인 branch (수명이 무한한) : main, dev

      • ① main : 배포 가능한 상태만
      • ② dev : 통합 브랜치로서의 역할
    • 보조 branch (수명이 유한한) : feature, release, hotfix

      • ③ feature : 새로운 기능을 만들 때
        dev branch에서 분기 => 새로운 기능 개발 => dev branch로 병합

      • ④ release : 출시 시점에 만드는
        dev branch에서 분기 => 버그 수정, 설명서 생성 및 기타 출시 준비 작업 => main, dev branch에 병합

      • ⑤ hotfix : 배포한 버전에 긴급하게 수정을 해야 할 필요가 있을 때
        main branch에서 분기 => 버그 수정 => main branch와 dev branch 또는 현재 release branch로 병합


  • main, dev, feature branch만 있다고 가정하고 연습!

  • git branch 현재 branch 목록을 조회해보니 main 하나이다.

    • git branch [-l] 로컬 저장소 branch 목록을 조회 (-l 옵션 생략 가능)
    • git branch -r 원격 저장소 branch 목록을 조회

  • git branch dev dev branch를 생성했다.
    git checkout dev dev branch로 이동했다.
    git branch -b feat1 -b 옵션을 붙여서 feat1 branch를 생성하는 동시에 해당 branch로 이동했다.

  • feat1 branch에서 feat1.txt (기능 A)를 만들었다.

  • 원격 저장소로 push 했다.

  • dev branch로 이동하니 feat1 branch에서 작업한 feat1.txt가 보이지 않는다.

  • dev branch에서 feat1을 merge하니, feat1 branch에서 작업한 feat1.txt가 나타났다.

  • 이후 dev 아래 feat2, feat3 branch를 생성하고,
    feat2에서는 기능 B를, feat3에서는 기능 C를 만들었다.

  • dev branch에서 feat2, feat3 역시 merge한다.
    각 feature branch에서 만든 기능들을 dev branch로 통합했다.


🔗 깃허브 주소
https://github.com/jplendor/git_practice

profile
만들기는 재밌어!

0개의 댓글