본문 바로가기

공부

git 기본명령어 및 git flow

<git 기본 명령어>

$ git init: git 정보를 생성

$ git add xxx: staging 영역으로 이동

$ git commit -m "test bug": commit 영역으로 이동

$ git push xxx: 원격 git repo.에  push


<Main Branch>

Master Branch: 다양한 브랜치가 머지됨

Develop Branch: 개발을 할때 사용하는 브랜치


<Supporting Branch>

Feature Branch: 

1. 추가 기능이 있을 경우에 생성

2. develop branch 를 기초로 만듦

3. 완료 후  develop branch 으로 merge

4. 완료 후에는 Branch 삭제


Release branch

1. 배포 직전에 테스트 하기 위한 브랜치

2. README.md 등, 메타 데이터 수정

3. develop branch를 기초로 만듦

4. 완료 후에는 master와 develop으로 merge

5. 완료후에는 삭제

6. version 을 남김(Tag)


Hotfix Branch

1. 배포 후 버그 발견 시 생성

2. master branch 를 기초로 만듦

3. 완료 후 master와 develop으로 merge

4. 완료 후 삭제



<feature 브랜치 수정>

1. A라는 사람이 git clone 으로 develop 브랜치를 땡겨옴

2. B라는 사람이 git clone 으로 develop 브랜치를 땡겨옴

2. git checkout develop: develop 브랜치로 이동

3. git checkout -b feature-functionA: feature-functionA 브랜치를 생성하면서 이동

4. feature-functionA 브랜치 수정

5. git checkout develop: 다시 develop 브랜치로 이동

6. git merge --no-ff feature-branchA: develop 브랜치에 feature-functionA branch 를 머지

7. git branch -D feature-functionA: feature-functionA 브랜치 삭제

8. git push develop: 원격 develop 브랜치에 반영


9. git checkout -b feature-functionB: feature-functionB 브랜치를 생성하면서 이동

10. feature-functionB 브랜치 수정

11. git checkout develop: 다시 develop 브랜치로 이동

12. git merge --no-ff feature-branchB: develop 브랜치에 feature-functionB branch 를 머지

13. git branch -D feature-functionB: feature-functionB 브랜치 삭제

14. git push develop: 원격 develop 브랜치에 반영하려고 하면, 실패가 남(이미 A라는 사람이 원격 develop branch에 push를 했기 때무에)

15. git fetch origin: 최신정보를 로컬 git 저장소로 가져옴   -> git rebase origin/develop 최신것으로 rebase

16. git pull origin: 최신 소스를 로컬 develop 브랜치와 머지

17. git push origin: 머지된 소스를 다시 원격 develop 브랜치에 push



<release 브랜치 수정>

1. feature 브랜치가 develop 브랜치에 다 머지가 되었음

2. git checkout -b release1.0: release1.0 브랜치를 생성하면서 이동

3. readme.md 파일 수정

4. beta 테스트 수행 -> 버그 발견

5. 버그수정

6. git commit -a -m "bug fix": 커밋

7. git checkout master

8. git merge --no-ff release1.0: master에 머지

9. git checkout develop

10. git merge --no-ff release1.0: develop 머지

11. git tag: v1.0 테그를 그음

12. git branch -D release1.0

13. 버그 발견


만약 release 브랜치가 아직 삭제가 되지 않은상태라면, release 브랜치에서 버그를 수정하고 커밋하면됨.


<release 브랜치에서 버그 발견 - hotfix>

1. git checkout master

2. git checkout -b hotfix1.0: hotfix 브랜치 생성 및 이동

3. 버그 수정 및 테스트

4. git commit -a -m "bug fix"

5. git checkout master

6. git merge --no-ff hotfix1.0

7. git checkout develop

8. git merge --no-ff hotfix1.0

9. git branch -D hotfix1.0

10. git tag: v1.1 테그를 그음

'공부' 카테고리의 다른 글

하둡 기본  (0) 2017.12.17