프로 깃 독서 노트

5386 단어

Git 무결성 보장

  • Git의 모든 데이터는 저장되기 전에 체크섬을 계산한 다음 체크섬으로 참조합니다.SHA-1 해시(hash, 해시).이것은 40개의 16진수 문자로 구성된 문자열로 Git의 파일의 내용이나 디렉터리 구조를 바탕으로 계산된다.
  • Git 데이터베이스에 저장된 정보는 모두 파일 내용의 해시 값으로 인덱스된 것이지 파일 이름이 아니다.

  • 처음 Git 실행 전 구성

  • 사용자 정보 설정
  • $ git config --global user.name "#NAME#"  
    $ git config --global user.email #[email protected]#
    

    Git 웨어하우스 가져오기


    기존 디렉터리에서 창고 초기화


    Git를 사용하여 기존 프로젝트를 관리하려면 해당 디렉토리에 들어가서 다음을 입력하십시오.
    $ git init    
    

    이 명령은 라는 이름을 생성합니다.git의 하위 디렉토리

    기존 창고 복제

    $ git clone #url#   
    

    현재 디렉터리에 복제할 창고를 만드는 디렉터리를 만들고 이 디렉터리에서 초기화합니다.git 폴더, 원격 창고에서 가져온 모든 데이터를 넣습니다.git 폴더에서 최신 버전의 파일 복사본을 읽습니다.

    레코드가 창고로 업데이트될 때마다


    현재 파일 상태 확인

    $ git status
    $ git status -s   
    

    새 파일 추적


    git add 명령은 새 파일을 추적하기 시작할 수도 있고, 추적된 파일을 임시 저장소에 넣을 수도 있으며, 병합할 때 충돌하는 파일을 해결된 상태로 표시할 수도 있습니다.이 명령을 '다음 제출에 내용 추가' 가 아니라 '프로젝트에 파일 추가' 로 이해하는 것이 좋습니다.
    $ git add #FILE#    
    

    수정된 파일 준비


    추적된 파일을 수정하고git status 명령을 실행하면 변경 사항 not staged for commit 줄 아래에 이 파일이 나타납니다. 이것은 추적된 파일의 내용이 바뀌었지만 임시 저장소에 두지 않았음을 의미합니다.이번 업데이트를 임시로 저장하려면git add 명령을 실행해야 합니다.파일을 임시 저장소에 두면 이 파일을 수정하고 다시 편집한 후에git status를 실행하면 이 파일이 임시 저장소와 비임시 저장소에 동시에 나타난다고 가정합니다.왜냐하면 Git는 git add를 실행할 때의 버전을 임시로 저장했을 뿐입니다. git add를 다시 실행하여 최신 버전을 다시 임시로 저장한 다음 git commit를 실행해야 합니다.

    파일 무시


    라는 이름을 만들 수 있습니다.gitignore의 파일입니다. 무시할 파일 모드를 보여 줍니다.
    $ cat .gitignore  
    $ *.[oa]  
    $ *~   
    

    준비 단계 및 준비 단계 없는 수정 내용 보기

  • 파일을 구체적으로 수정한 곳을 알려면git diff 명령을 사용할 수 있습니다.
  • 파라미터가 없는git diff는 임시로 저장되지 않은 파일이 어떤 부분을 업데이트했는지 직접 볼 수 있습니다.
  • 다음 제출에 추가할 내용을 보려면git diff --cache 또는git diff --staged
  • 업데이트 제출

    $ git commit -m "#DESCRIPTION#"
    

    준비 영역 사용 건너뛰기

  • git commit에 -a 옵션을 추가하면 Git는 자동으로 추적된 모든 파일을 임시로 저장하여 제출하고git add 절차를 건너뜁니다.
  • $ git commit -a
    

    파일 제거

  • Git에서 파일을 제거하려면 추적된 파일 목록에서 제거한 다음 제출해야 합니다.파일을 수동으로 제거한 후gitrm를 실행해서 파일을 제거하는 동작을 기록해야 합니다.
  • Git 창고에서 파일을 제거하고 싶지만, Git가 계속 추적하지 않기를 원하지 않습니다.--cached 옵션을 사용할 수 있습니다.
  • $ git rm --cached #FILE#
    
  • suffix로 끝난 모든 파일 삭제
  • $ git rm \*#suffix#
    

    파일 이동

  • Git에서 파일 이름 변경
  • $ git mv #FILE_FROM# #FILE_TO#
    
  • 실제gitmv는 다음 3개의 명령을 실행한 것과 같다.
  • $ mv #FILE_FROM# #FILE_TO#
    $ git rm #FILE_FROM#
    $ git add #README#
    

    제출 내역 보기

  • -p 옵션은 제출 파일의 차이를 볼 수 있고, -2 옵션은 최근 두 번의 제출 로그를 볼 수 있습니다.stat은 제출할 때마다 간략한 통계 정보를 볼 수 있습니다.
  • $ git log -p -2
    
  • 표시할 레코드의 형식 사용자 정의
  • $ git log --pretty=format:"%h - %an, %ar : %s"
    

    작업 취소

  • 임시 저장소에 제출한 후 일부 파일을 제출하는 것을 잊어버리거나 제출 정보를 수정하고자 할 때 -amend를 실행하여 다시 제출할 수 있으며 첫 번째 제출한 결과를 대체할 수 있습니다.
  • $ git commit --amend
    

    임시 저장 취소 파일

  • 임시 보관된 서류를 비임시 보관 상태로 변경한다.
  • $ git reset HEAD #FILE#
    

    파일 수정 취소

  • 수정된 파일을 마지막으로 제출한 모습으로 복원합니다.
  • $ git checkout -- #FILE#
    

    원격 창고 사용


    원격 웨어하우스 보기

    $ git remote -v    
    

    원격 웨어하우스 추가

  • 원격 웨어하우스를 추가하고 쉽게 참조할 수 있는 약자를 지정합니다
  • .
    $ git remote add #shortname# #url#
    

    원격 창고에서 잡기 및 당기기

  • fetch를 사용하면 원격 창고의 모든 지점에 대한 인용을 가지고 언제든지 병합하거나 볼 수 있습니다.
  • $ git fetch #remote-name#   
    

    원격 창고로 밀어넣기

    $ git push #REMOTE-NAME# #BRANCH-NAME#  
    

    원격 웨어하우스 추가 정보 보기

    $ git remote show #REMOTE-NAME#  
    

    원격 창고 제거 및 이름 바꾸기

    $ git remote rename #OLD_NAME# #NEW_NAME#  
    $ git remote rm #REMOTE_NAME#  
    

    꼬리표를 달다


    레이블 나열

    $ git tag
    $ git rag -1 'v1.8.5*'    
    

    태그 만들기

  • 탭 유형: 가벼운 탭(lightweight), 부주 탭(annotated)
  • 부주 라벨

    $ git tag -a v1.0 -m 'SOME MESSAGE'  
    
  • 태그 정보 보기
  • $ git show v1.0  
    

    라이트 레이블

  • 라이트 레이블에 추가 정보가 저장되지 않음
  • $ git tag v1.0
    

    후기에 라벨을 붙이다

  • 과거 제출에 라벨을 붙이고 명령의 끝에 제출한 검사와 (또는 일부 검사와)
  • $ git tag -a v1.0 #SHA-1#
    

    공유 태그

  • 기본적으로 git push 명령은 탭을 원격 창고 서버에 전송하지 않으며 탭을 만든 후에 표시해야 하는 탭을 공유 서버에 전송합니다.
  • git push origin v1.5
    
  • 여러 태그를 한 번에 밀어 넣으려면 --tags 옵션이 있는git push 명령을 사용합니다.이것은 더 이상 원격 창고 서버가 아닌 모든 탭을 그곳으로 전송할 것이다.
  • $ git push #origin# --tags  
    

    체크 아웃 레이블

  • Git에서 탭을 정말로 검출할 수 없고 탭이 지점처럼 왔다 갔다 이동할 수 없습니다.작업 디렉터리가 창고의 특정한 탭 버전과 완전히 같으려면 특정한 탭에 새 지점을 만들 수 있습니다.
  • $ git checkout -b #BRANCHNAME# #TAG_NAME#  
    

    별칭 정의

  • 예를 들어commit에 별명을ci
  • 로 정의한다.
    $ git config --global alias.ci commit
    $ git config --global alias.last 'log -1 HEAD'
    

    좋은 웹페이지 즐겨찾기