나의 재물운? 연애운은?
AI가 봐주는 내 사주팔자 - 운세박사
배틀그라운드 PUBG 크래프톤 등 대기업에서 주로 사용하는 git flow
일반적인 대형 IT 기업에서 사용함
main
, develop
, feature
, release
, hotfix
브랜치를 대표적으로 이용합니다.main branch
: Production release에 사용되는 브랜치
develop branch
: 다음 release에 포함되기 위해 생성된 feature 브랜치 코드가 병합되는 브랜치
feature branch
: 새로 생성하는 기능을 개발할 때 사용되는 브랜치
release branch
: develop 브랜치에서 다음 버전으로 출시할 기능을 추리고 Bug fix 수행
hotfix branch
: production release 이후 생성된 에러를 수정하는 브랜치rebase하면 붙여넣기가 됨.
만약 컨플릭트가 나면 컨플릭트를 해결 후 rebase할 수 있음
머지와의 차이점은?
머지는 머지를 삭제하면 머지한 내용 전부 다 삭제됨
리베이스는 그런 거 없이, 그 전 브랜치에서 커밋한 내용들이 모두 다 리베이스 되는 브랜치로 들어감.
따라서 커밋 로그가 기존 브랜치에서 있던 것들이 전부 다 같이 들어옴.
브랜치란 결국 커밋의 모음인데, 리베이스는 커밋의 모음을 다시 베이스 (토대로 한다)는 의미임
merge rebase squash 이 3개 중에 선택할 수 있는 데 관련 내용은 아래 링크에서 잘 설명해뒀으니 확인해보자
https://im-developer.tistory.com/182
참고로 스쿼시는 이전 브랜치를 하나의 커밋으로 하여 메인브랜치에 합치는 방법임
리베이스가 모든 커밋 기록을 남겨서 합치는 것에 반해,
스쿼시는 이전 브랜치의 커밋 기록을 하나의 커밋으로 합침.
깃허브 상에서 머지든 리베이스든 스쿼시든 PR에서 모두 다 이루어짐.
위와 같이 머지 스쿼시 리베이스 이렇게 3가지로 구분됨.
git reset과
git revert의 차이
git reset은 커밋 자체를 삭제해버림
git revert는 특정 커밋에 작업했던 내용들을 모두 삭제하고 Delete 커밋을 새로 만듬. 즉 되돌리기 원복이 가능함
위와 같이 원복이 가능함 f3(d) 커밋 생성 (revert 시)
따라서 리셋보다는 revert를 쓰는 게 안전하다.
커밋 로그가 같으면 같은 브랜치임.
이름이 달라도 커밋 로그가 같으면 같은 브랜치고
이름이 같아도 커밋 로그가 다르면 다른 브랜치인거임.
나의 재물운? 연애운은?
AI가 봐주는 내 사주팔자 - 운세박사