표준 Git 명령에 비해 Git 스트림의 이점

본고에서 우리는 Git-flow라는 git 작업 흐름을 소개하고 왜 표준git 명령에 사용해야 하는지를 토론할 것이다.

git 흐름이란 무엇입니까?

git-flow 최근 몇 년 동안 매우 유행했다. 왜냐하면 그것은 약간의 추가 명령을 제공했기 때문이다.
이것은 표준git 명령을 사용하면 수동으로 이 작업을 수행하는 작업을 자동화합니다.
git flow는 결코 git의 대체품이 아니다.그것은 표준 Git 명령을 교묘하게 조합하는 스크립트 집합일 뿐이다.

Git flow 설치


창문:


Windows 사용자에게는 Git for Windows 방법이 권장됩니다.
Windows용 Git를 설치하려면 Git for Windows homepage의 지침을 따르십시오.Git for Windows 2.6.4부터GitFlow(AVH 버전) 포함해서 다 완성했습니다.

Linux(Ubuntu 18.04):

git-flow AVH edition Ubuntu와 함께 포장.다음 명령을 사용하여 최신 버전git-flow AVH Edition을 설치할 수 있습니다.
$ sudo apt-get install git-flow
다른 linux 버전에 대해서는 these instructions

Mac OS X:


Mac OS 설치의 경우 these instructions

프로젝트에서 Git flow 사용


이 저장소에서 특수한git 흐름 명령과 일반git 명령을 나란히 사용하는 것은 완전히 당신에게 달려 있습니다.
우선 명령git-flow을 사용하여 프로젝트에서 초기화해야 한다git flow init
$ git flow init
Initialized empty Git repository in E:/Development/projects/git-flow-tut/.git/
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]

How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
Hooks and filters directory? [E:/Development/projects/git-flow-tut/.git/hooks]
setup assistant에서 원하는 이름을 입력할 수 있지만, 기본 이름 설정을 고수하십시오. Enter 한 걸음 한 걸음 확인하면 됩니다.

Git 흐름 브랜치 모델


git-flow 워크플로우 모델은 저장소에 두 개의 분기가 있어야 합니다.

  • 주 지점에는 생산 안정 코드가 포함되어 있다.직접 제출master하지 않고 별도feature 지점에서 작업합니다.

  • 개발은 당신이 새로운 개발 작업을 진행하는 기초입니다. 새로운 기능 지점을 시작할 때 개발에 기반을 둔다.
  • 이 두 분기는 프로젝트의 전체 라이프 사이클에 프로젝트에 유지됩니다.기능이나 버전 같은 다른 지점은 필요에 따라 만들어지고 목적이 완료되면 삭제됩니다.

    기능 분기


    새 기능 시작


    예를 들어, 당신은 당신의 프로젝트에 지불망을 추가해야 합니다.이것은 새로운 특성이다.
    새로운 payment-gateway 기능을 시작하겠습니다.
    $ git flow feature start payment-gateway
    Switched to a new branch 'feature/payment-gateway'
    
    Summary of actions:
    - A new branch 'feature/payment-gateway' was created, based on 'develop'
    - You are now on branch 'feature/payment-gateway'
    
    이 작업은 '개발' 을 기반으로 새로운 기능 지점을 만들고 전환합니다.

    특집 보도를 완성하다.


    모든 노력을 다하고 투입한 후에 이 기능을 완성할 때가 되었다.
    $ git flow feature finish payment-gateway
    Switched to branch 'develop'
    Updating 6bcf266..41748ad
    Deleted branch feature/payment-gateway.
    
    이 작업을 수행한 후 Git-flow 기능 분기를 삭제하고 개발 분기를 체크 아웃합니다.

    분기 해제


    석방을 시작하다


    '개발' 지점이 새 버전을 발표할 준비가 되었을 때 git flow release 명령을 사용하여 버전을 시작합니다.이것은 '개발' 지점에서 만든 발표 지점을 만들었습니다.
    $ git flow release start 1.1.5
    Switched to a new branch 'release/1.1.5'
    

    게시 완료


    발표가 끝났을 때 아래 명령을 사용하십시오
    $ git flow release finish 1.1.5
    
    이 작업을 수행하면 다음 작업이 즉시 수행됩니다.
  • 원격 저장소에서 데이터를 추출하여 최신 데이터를 확인합니다.
  • 그리고 버전은 masterdevelop 지점으로 통합되어 생산 코드와 모든 기능 지점이 최신 코드를 기반으로 한다.
  • 게시 제출은 게시 이름으로 표시됩니다(우리의 예시에서 1.1.5.
  • 게시 지점을 삭제하고 서명develop합니다.
  • 패치 분기


    게시판에서 철저한 테스트를 한 후에도 발생할 수 있는 악의적인 버그를 겨냥한 것이다.

    패치 시작


    $ git flow hotfix start missing-link
    
    hotfixrelease 지점은 매우 비슷하다.그러나 발표된 버전처럼 우리는 프로젝트의 버전 번호를 향상시켰다. 물론 이 버그를 복구했다!

    그러나 패치는 주 분기에 기반을 두고 발행판은 개발 분기에 기반을 두고 있다는 것을 명심해야 한다


    패치 완료


    $ git flow hotfix finish missing-link
    
    이 프로세스는 게시를 완료하는 것과 매우 유사합니다.
  • 이러한 변경 사항은 masterdevelop에 통합되어 오류가 다시 다음 버전으로 미끄러지지 않도록 합니다.
  • 를 참고하기 위해 hotfix에 표기하였다.
  • 분기를 삭제하고 [개발]을 다시 체크 아웃합니다.
  • 이제 제품을 구축/배치할 때입니다.


    보상으로 좋은 예가 있습니다Git-flow 명령을 쉽게 기억할 수 있습니다.

    Daniel Kummer's git-flow cheatsheet repo에서 찾았어요.그의 환매 협의에서 보십시오. 만약 당신이 나의 작품을 좋아한다면, 또한 나를 주목해 주십시오. Github

    제 블로그를 읽어주셔서 감사합니다.그것이 당신과 당신의 팀을 도와 업무 효율을 높일 수 있기를 바랍니다.


    만약 당신이 이미 Git-flow를 사용하고 있거나 그것을 사용할 계획이 있다면 저에게 알려 주시겠습니까?

    좋은 웹페이지 즐겨찾기