Git Branch/Flow/Fork&Merge, License

HunGeun·2022년 4월 14일
0

.gitignore

git이 추적하지 않도록 명시하기 위한 문서
(보안이 필요한 정보, Ds_Store, key값 등)
gitignore 생성기


LICENSE

Open Source에 대한 License를 신경 써야 한다

  • MIT License
    MIT제작, 모든 행동에 제약이 없음
  • Apache License
    Apache 재단 제작, 특허권 관련 내용 존재
  • GNU GPL
    가장 많이 알려져있으며, 의무사항 존재

Branch

$ git branch
Show local branch
-r: remote branch
-a: all branch

$ git branch {name}
Create {name} branch

$ git switch {name}
change branch

$ gir merge {name}
merge branch

$ git branch -D {name}
delete branch

$ git push origin {name}
push with specified remote branch

git rename

  • $ mv hello.py helloworld.py
    deleted, new file

  • $ git mv server.py main.py
    renamed

branching models

  • git flow
    (hotfix)- master -(release)- develop - feature
    pros: 가장 많이 적용, 각 단계가 명확히 구분
    cons: 복잡..

  • github flow
    master - feature
    pros: 브랜치 모델 단순화, master 의 모든 커밋은 deployable
    cons: CI 의존성 높음. risk 존재

  • gitlab flow
    production - pre-production - master - feature
    pros: deploy, issue에 대한 대응이 가능하도록 보완
    cons: git flow와 반대 ( master -develop, production -master)


git flow

STRATEGY
GIT FLOW CHEAT SHEET

$ git flow init
git flow start

$ git flow feature start {name}
make feature/{name} branch

$git add & commit

$ git flow feature finish {name}
{name} & develop merge 

$ git flow release start {version}
make release branch

$ git flow release finish {version}
release branch merge main
tagged
delete release branch
switch develop branch

$ git push -u origin develop
$ git switch main && git push origin main
$ git push --tag

0개의 댓글