mkdir git_practice
깃 연습을 위한 git_practice 디렉토리 생성 cd git_practice
해당 디렉토리로 이동 후, ls -al
존재하는 폴더 및 파일 리스트를 확인해본다. 아무것도 없다.git init
git 저장소를 만들기 위한 초기화 명령을 실행하였다. .git
이 생겼다.echo "# git_practice" >> README.md
README.md 라는 파일은 없으므로 새로 생성되며, 그 안에 # git_practice
이 작성된다.git add README.md
README.md를 add한다.git commit -m "first commit"
메세지와 함께 commit한다.git branch -M main
브랜치 이름을 변경(-M: move force)git branch -m <old_branch> <new_branch>
git remote add origin https://github.com/jplendor/git_practice.git
git remote add <remote name> <repository URL>
git push -u origin main
git push <remote repository name> <branch name>
-u
옵션은 원격저장소의 동일한 이름의 브랜치와 자동 연결하여 업로드하게하는? 어떤 단어의 약자인지는 모르겠다. upstream?원격 저장소에 정상적으로 올라갔다.
STEP 4 예습 : branch의 종류 이해하기
git branch는 목적에 따라 5가지로 구분하여 사용한다.
메인 branch (수명이 무한한) : 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로 통합했다.