2022.03.30

Branch

*가지. 분기점 생성 후 독립적으로 코드를 변경할 수 있도록 도와주는 모델*
*메인을 건들지 않고 실험적인 개발을 할 수 있다*
Branch 생성
    1. touch <파일이름> 생성 후 git status
    2. git add . 
    3. git commit
    4. git branch
        * main 확인
    5. git branch <이름> : <이름> 브랜치가 생성됨
    6. git switch <이름> : 현재 있는 branch에서 이동하고 싶은 branch 써주기
    7. git merge <branch> : 병합
    8. branch의 라이프사이클이 다했을때는 git branch -D <branch>
Branch CONFLICT 브랜치 충돌
      conflict(충돌)은 각각의 브랜치에서 변경한 내용이 같은 행에 포함되어 있기 때문이다
      conflict된 파일을 열어서 내용을 변경
      다시 git commit을 해주면 된다(git commit -m은 제목 덮어쓰기때문에 하지말것)

Git-Flow

  *소스코드를 관리하는데 브랜치 기능을 적극적으로 사용할 수 있는게 git의 장점*
  *Vincent Driessen은 효과적으로 git branch 전략을 사용하는 것에 대한 제안을 했다*
  *Git-flow는 브랜치 모델을 쉽게 사용할 수 있도록 몇개의 명령으로 구현해 놓은 git의 확장*
Vincent Driessen의 브랜칭 모델에는 5개의 브랜치가 사용된다
    master
          master 브랜치에는 안정성이 충분히 검증된 코드들만이 병합되어야 한다
    develop
          develop 브랜치에는 개발자들이 feature 브랜치에서 소스코드를 수정한 후 develop 브랜치로 PR를 요청하게 된다
          또 다른 리뷰어가 기능들을 검토한다음 최종적으로 develop 브랜치에 병합(merge)된다
          새로운 기능을 위한 feature 브랜치는 develop 브랜치의 HEAD에서 생성된다
    feature
          새로운 기능 개발이나 버그 수정을 위한 코드 수정이 이뤄지는 브랜치
          feature 브랜치에서 작업된 내용은 최종적으로 PR을 거쳐 develop 브랜치에 병합(merge)된다
    release
          git으로 관리되는 소프트웨어는 정기적으로 성능 개선, 기능추가, 버그 수정을 반영하면서 릴리즈가 된다
          릴리즈 브랜치의 코드가 안정적이라고 판단되면 master 브랜치에 병합되고 릴리즈에 해당하는 태그가 생성된다
          릴리즈 브랜치가 생성된 이후 반영된 수정사항들은 develop 브랜치에도 반영된다
    hotfix
          정기적인 리리즈 이외에 긴급하게 수행되어야 할 버그 수정을 반영하기 위해 생성되는 브랜치
          hotfix 브랜치는 master 브랜치 기반으로 생성되며 이후 hotfix 브랜치는 master 브랜치에 병합되고 태그 생성이 된다
          마찬가지로 수정 사항은 develop 브랜치로도 병합되어 긴급 수정 사항이 이루 릴리즈에도 반영되도록 한다
Git-flow 설치및 사용법
        1. Git-flow cheatsheet <https://danielkummer.github.io/git-flow-cheatsheet/index.ko_KR.html>
    2. 자신의 운영체제에 맞는 설치방법으로 설치하기
    3. git flow init
    4. git flow feature start <branch>
    5. git flow feature finish <branch> 
    6. git flow release start release <base>
    7. git flow release finish release <base>
          총 2번 or 3번의 vim창이 뜨며 나갈때는 tag작성 후 나가기
    8. git push -u origin develop
    9.git switch main
    10. git push origin main
    11. git push --tag

'프론트엔드 > Git&GitHub' 카테고리의 다른 글

Git 명령어 (추가)  (0) 2022.04.04
.gitignore  (0) 2022.04.03
Git clone과 Git init  (0) 2022.04.01
Git bash 명령어  (0) 2022.04.01
Git과 Github 차이점 Git설치  (0) 2022.04.01

+ Recent posts