2021년 9월 14일에 작성된 문서 2번 입니다.
git 배운 내용을 정리했습니다.
git clone
명령어로 Repository를 Local에 가지고 왔다.git checkout -b 새로운 브랜치 이름
/ git switch -c 새로운 브랜치 이름
dev
브랜치를 만들어서 해당 브랜치로 이동해 보겠습니다.
여기서HEAD
는 현재 위치의 커밋을 가리킵니다.
즉 현재 작업중인 커밋입니다.
git checkout -b dev
통해서 dev
브랜치를 생성. git switch -c dev
도 가능. git push origin dev
를 입력.git branch
브랜치가 잘 생성되었는지 확인하고 싶어요.
생성한 브랜치의 목록과 내가 현재 dev 브랜치에 있는 것이 맞는지 확인해 볼 방법은 없을까요?
git branch
명령어를 통해 확인할 수 있다. git branch
를 입력하면 아래 화면이 뜬다. q
를 눌러서 종료할 수 있다.git checkout -b 새로운 브랜치 이름
/ git switch -c 새로운 브랜치 이름
회의를 통해 하나의 기능을 구현할 때는
feature/기능이름
브랜치를 만들어서 작업하기로 정했습니다.
로그인 기능을 구현하기 위해서feature/login
브랜치를 생성해보도록 하겠습니다.
git checkout -b feature/login
를 입력. git switch -c feature/login
도 같은 기능.git checkout -b 새로운 브랜치 이름
/ git switch -c 새로운 브랜치 이름
feature/login
브랜치에서 로그인 기능이 완성되었습니다! 여기에 소셜 로그인(oauth) 기능을 추가해 보고 싶어요. 그런데 로그인 코드를 건드리자니 위험 부담이 있네요. 새로운 브랜치를 하나 더 만들어서 작업하고 싶습니다.feature/login-oauth
라는 이름으로feature/login
브랜치에서 파생된 브랜치를 하나 더 만들어서 작업해 보겠습니다.
git checkout -b feature/login-oauth
를 입력. git switch -c feature/login-oauth
명령어도 같은 기능.git checkout -b 새로운 브랜치 이름
/ git switch -c 새로운 브랜치 이름
소셜 로그인 기능까지 구현이 완료되었습니다. 이
feature/login-oauth
에 있는 코드를feature/login
브랜치로 병합(merge) 할 수 있는 방법이 있을까요? 먼저git checkout(switch) feature/login
명령어를 통해feature/login
브랜치로 이동하세요.
git checkout -b feature/login
를 입력. feature/login-oauth
브랜치를 feature/login
브랜치로 병합하기 위해서는 feature/login
브랜치로 이동. git switch feature/login
도 같은 기능.git merge 병합할 브랜치 이름
feature/login-oauth
내용을 feature/login
브랜치로 병합feature/login
git merge feature/login-oauth
입력. feature/login-oauth
머지 전 feature/login
에 추가 커밋이 없어, 브랜치가 분기될 필요가 없다. feature/login
브랜치가 가리키는 커밋을 feature/login-oauth
가 생성한 커밋으로 바꾸는 작업git merge 병합할 브랜치 이름
feature/login
브랜치에 별도의 커밋이 있었다면?git merge feature/login-oauth
입력
feature/login
에서git rebase main feature/login
명령어를 입력하면 main의 가장 최신 커밋으로 브랜치가 가리키는 곳이 변경됩니다. (main의 다른 커밋에서 충돌이 없을 경우)
git push origin 브랜치 이름
push
git push origin feature/login
입력 Pull Request
push
한 변경사항에 대해서 다른 사람들에게 알리는 것
feature/login
의 변경 사항을 다른 팀원들과 함께 코드 리뷰를 하고 dev 브랜치에 적용하고 싶습니다.
Create pull request
버튼을 클릭.
Written with StackEdit.