ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git 잡다 내용
    Search: SwDevTool SwDevTool 2016. 3. 21. 19:00

     

    * Client측 준비

    Git core: https://git-scm.com/

    Gui: https://tortoisegit.org/

     

    * server측 준비

    직접 구성: https://bonobogitserver.com/

    온라인 업체 이용: http://github.com

     

     

    * branches 기본

    - Master branches

    - Develop branches

    - Feature branches

    - Release branches

    - Hotfix branches

    - Branch naming convention : master, develop, release-*, hotfix-*

     

     

    * 저장소

    origin/master 

    원격 저장소 「origin」의 브랜치인 「master」의 위치를 나타냄.

     

    origin/HEAD

    원격 저장소 「origin」을 복제해 올 때 다운로드되는 커밋의 위치를 나타냄.

    일반적으로 「origin/master」와 동일한 위치를 가리킴.

     

    master 

    로컬 저장소 브랜치인 「master」의 위치를 나타냄.

     

     

    * Merge

     

    <<<<<<<< //시작

     

     

    ======== //윗 부분: 로컬 저장소 내용, 아랫 부분: 원격 저장소 내용.

     

     

    >>>>>>>> //끝

     

    >>>>>>>> //끝

     

     

    * Branch - Merge

     

    - fast-forward: master에 brX의 지난 과정까지 통합.

     

    - non fast-forward: master에 brX의 최종 내용만 통합.

     

    * Branch - rebase

     marster에 변경된 내역들 끝에 brX에 지난 과정 들을 붙이고 통합.

     

     

    * Tag

     

    일반 태그(Lightweight tag): 이름만 붙일 수 있음.

     

    주석 태그(Annotated tag): 이름, 설명, 서명, 이메일과 태그를 만든 날짜 정보도 포함 가능.

     

     

    * 이전에 작성한 커밋 수정하기

     

    "--amend" 옵션을 지정하여 커밋을 수행하면, 같은 브랜치 상에서 이전에 커밋했던 내용에 새로운 내용을 추가하거나 설명을 수정 가능.

     

    누락된 파일을 새로 추가하거나 기존의 파일을 업데이트 해야할 때

    이전 커밋의 설명을 변경하고 싶을 때

     

     

    * 이전에 작성한 커밋 지우기

     

    revert 명령어를 이용하면, 특정 커밋의 내용을 삭제할 수 있습니다.

     

    rebase -i 명령어나 reset 명령어를 통해 커밋을 삭제할 수도 있지만, 해당 커밋이 이미 공개된 상태인 경우에는 이러한 삭제 작업을 함부로 하기 어렵다. 이러한 경우에는 revert 명령어를 이용해서 특정 커밋의 내용을 지우는 새로운 커밋(B')을 만들어 보다 안전하게 처리할 수 있다.

     

     

    * 커밋을 버리고 특정 버전으로 다시 되돌아가기

     

    reset 명령어를 이용하면 더 이상 필요 없어진 커밋들을 버릴 수 있다. 명령어 실행 시 어떤 모드로 실행할 지 지정하여 'HEAD' 위치와 인덱스, 작업 트리 내용을 함께 되돌릴지 여부를 선택할 수 있다.

     

    - soft: 커밋만 되돌리고 싶을 때.

    - mixed: 변경한 인덱스의 상태를 원래대로 되돌리고 싶을 때.

    - hard: 최근의 커밋을 완전히 버리고 이전의 상태로 되돌리고 싶을 때.

     

     

    * 다른 브랜치로부터 특정 커밋을 가져와서 내 브랜치에 넣기

     

    cherry-pick 을 이용하면 다른 브랜치에서 지정한 커밋을 복사하여 현재 브랜치로 가져올 수 있습니다.

     

    이럴 때 사용해 보세요 :

    특정 브랜치에 잘못 추가한 커밋을 올바른 브랜치로 옮기려고 할 때

    다른 브랜치의 커밋을 현재 브랜치에도 추가하고 싶을 때

     

     

    * 커밋 이력 편집.

    rebase 명령어에 'i' 옵션을 지정하면 커밋을 다시 쓰거나 다른 커밋과 바꿔 넣을 수 있으며 특정 위치의 커밋을 삭제하거나 여러 커밋을 하나로 통합하는 작업 가능.

     

    push 하기 전에 이전의 커밋 내용을 정리하고자 할 때

    그룹으로 묶을 수 있는 커밋들을 알기 쉽게 하나로 통합하려고 할 때

    이전 커밋에 누락된 파일들을 나중에 추가하고자 할 때

     

     

    * 브랜치상의 커밋을 하나로 모아 병합.

     

    병합(merge) 할 때 사용할 수 있는, 조금 특별한 옵션인 '--squash'.

    이 옵션을 지정하여 브랜치를 병합하면 해당 브랜치의 커밋 전체를 통합한 커밋이 추가 된다.

     

    토픽 브랜치 안의 커밋을 한꺼번에 모아서 통합 브랜치에 병합할 때 사용.

     

     

    댓글