목록

Git관련

깃 사용하다 보니 실수도 많이 하고 잘못 사용도 하는거 같아서, 다른사람들은 어떻게 사용하는지 찾아 정리


rebase vs merge

merger는 기록이남구.. rebase는 기록이 남지 않는다. 작 꺠끗한 프로젝트 기록을 얻을 수 있다.

git fork

직접적인 push 권한은 없지만, 해당 프로젝트를 오픈소스로 관리할 떄 사용되며, pull request를 통하면 원제작자에게 요청하는 방식으로 사용됨.

버전정보표시

[Major] . [Minor] . [Build Number] . [environment] 으로..

  • [Major] :주로 대규모 패치 인 경우 카운팅.
  • [Minor] : 기능 추가 및 새선 시 카운팅.
  • [Build Number] : 자잘한 기능 및 잡다 버그 수정 시 카운팅.
  • [environment] : 빌드 환경 설정 값.(생략가능.) ex : 0.1.0.a -> 0.1.2 등..

.gitignore 사용법

사용자가 원하지 않는 파일들을 자동적으로 git 커밋 대상에서 제외 시켜주는 것이다.

  • 어떤한 항목을 제외??

    • IED tool과 관련된 설정파일
    • 언어의 빌드 결과물, 로그, 패키지 관련 파일
    • 그 외 프로젝트에서 사용자가 제외하기 원하는 파일 등등…
  • 프로젝트 촤상단 폴더에 생성하면됨.

  • 파일 규칙

    • ’#‘은 주석의 역할
    • 표준 glob 패턴을 사용
    • ’/’ 를 사용하면 규칙이 프로젝트 전체에 적용되지 않음
    • ’/’ 로 끝나는 것은 폴더로 인식
    • ’!’ 를 사용하면 무시가 되지 않음
    • (단, 한번 제외된 폴더의 내의 파일들은 다시 추가 할 수가 없다는점..)
  • 예제

    # 모든 확장자 .a 파일을 무시
    *.a
    # 무시하는 모든 확장자 .a 파일들 중에서 lib.a 파일은 무시하지 않음
    !lib.a
    # Project/
    #  ㄴ.gitignore
    #  ㄴA/
    #    ㄴa.txt
    #    ㄴTODO/
    #      ㄴtt.txt
    #  ㄴTODO/
    #    ㄴt.txt
    #
    # 현재 폴더 중에서 TODO 폴더에 있는 모든 파일을 무시
    # (즉, t.txt 파일만 무시되고 tt.txt 파일은 무시되지 않음)
    /TODO
    # 프로젝트 전체 폴더 중 TODO라는 폴더명을 사용하는 TODO 폴더의 하위 파일은 모두 무시
    # (즉, t.txt 파일과 tt.txt 파일 모두 무시됨)
    TODO/
    # Project/
    #  ㄴ.gitignore
    #  ㄴdoc/
    #    ㄴd.txt
    #    ㄴp.pdf
    #    ㄴserver/
    #      ㄴss.txt
    #      ㄴpp.pdf
    #
    # 현재 폴더 중에서 doc 폴더 바로 밑에 있는 .txt 확장자 파일만 모두 무시
    # 단, doc/server/ss.txt 와 같은 형식에서는 .txt 확장자 파일이 무시되지 않음
    doc/*.txt
    # 현재 폴더 중에서 doc 폴더 하위에 있는 .pdf 확장자 파일은
    # doc 폴더 하위 어떤 폴더에 들어 있더라도 모두 무시
    # (즉, p.pdf 파일과 pp.pdf 파일 모두 무시됨)
    doc/**/*.pdf
  • 특정 프로젝트에 대해 gitignore 만들어주는 사이트.

주석 달기 참고..

https://docs.microsoft.com/ko-kr/dotnet/csharp/codedoc