Git 원리 와 상용 조작

7216 단어 git.의 원리
gitlab 의 무료 사유 창고 의 장점 으로 인해 회사 에서 gitlab 를 사용 하 는 것 이 많 습 니 다.gitlab 에 게 등록 은 벽 을 넘 어야 하고 로그 인 은 필요 없습니다.
git 가 무엇 을 하 는 지 에 대해 서 는 더 이상 말 하지 않 겠 습 니 다.알 고 계 실 거 라 고 믿 습 니 다.여기 서 여러분 을 데 리 고 한 시간 동안 git 원 리 를 파악 하고 git 조작 을 배 웁 니 다.
Git 작업 절차
gitlab 에 서 는 일반적으로 모든 사람 이나 항목 또는 모든 bug 에 독립 된 분기 가 있 습 니 다.가 지 는 주 분기 master 에 영향 을 주지 않 습 니 다.
일반적인 작업 절 차 는 다음 과 같다.
  • Git 자원 을 작업 디 렉 터 리 로 복제 합 니 다
  • 4.567917.복 제 된 자원 에 파일 을 추가 하거나 수정 합 니 다다른 사람 이 수정 하면 자원 을 업데이트 할 수 있 습 니 다4.567917.제출 전에 수정 사항 을 확인 합 니 다
  • 수정 사항 제출..
  • 4.567917.수정 이 완 료 된 후에 오류 가 발견 되면 제출 을 철회 하고 다시 수정 하여 제출 할 수 있다
    Git 작업 영역,임시 저장 영역,버 전 라 이브 러 리
    여기 git 의 중심 을 이해 합 니 다.git 를 사용 하기 때문에 로 컬 컴퓨터 에 로 컬 컴퓨터 는 자신의 창고 가 있 고 모든 프로젝트 폴 더 의 루트 디 렉 터 리 에 창 고 를 설치 할 수 있 습 니 다.로 컬 창고 와 로 컬 분기 와 원 격 분 지 는 분 리 됩 니 다.pull 을 통 해 원 격 분기 나 push 를 추출 하여 원 격 분기 로 푸 시 할 수 있 습 니 다.
    4.567917.작업 공간:바로 컴퓨터 에서 볼 수 있 는 목록 입 니 다4.567917.임시 저장 구역:영 어 를 stage 라 고 부 르 거나 index 라 고 합 니 다.일반적으로"git 디 렉 터 리 아래"의 index 파일(.git/index)에 저장 되 어 있 기 때문에 우 리 는 임시 저장 영역 을 때때로 색인(index)이 라 고도 부른다버 전 라 이브 러 리:작업 영역 에 숨겨 진 디 렉 터 리 가 있 습 니 다.git.이것 은 작업 영역 이 아니 라 Git 버 전 라 이브 러 리 입 니 다.
    다음 그림 은 작업 영역,버 전 라 이브 러 리 의 임시 저장 영역 과 버 전 라 이브 러 리 간 의 관 계 를 보 여 줍 니 다.

    그림 에서 왼쪽 은 작업 영역 이 고 오른쪽 은 버 전 라 이브 러 리 입 니 다.버 전 라 이브 러 리 에'index'로 표 시 된 영역 은 임시 저장 영역(stage,index)이 고'master'로 표 시 된 것 은 master 분기 가 대표 하 는 디 렉 터 리 트 리 입 니 다.
    그림 에서 우 리 는 이때'HEAD'가 실제 master 분기 의'커서'를 가리 키 는 것 임 을 알 수 있다.그래서 그림 의 명령 에 HEAD 가 나타 난 곳 은 master 로 바 꿀 수 있 습 니 다.
    그림 속 objects 표지 의 영역 은 Git 의 대상 라 이브 러 리 이 고 실제'git/objects'디 렉 터 리 에 있 으 며 만 든 다양한 대상 과 내용 을 포함 하고 있다.
    작업 영역 에서 수정(또는 추가)한 파일 에 대해'git add'명령 을 실행 할 때 임시 저장 영역의 디 렉 터 리 트 리 가 업데이트 되 고 작업 영역 에서 수정(또는 추가)한 파일 내용 은 대상 라 이브 러 리 의 새로운 대상 에 기록 되 며 해당 대상 의 ID 는 임시 저장 영역의 문서 색인 에 기 록 됩 니 다.
    제출 작업(git commt)을 수행 할 때 임시 저장 구역 의 디 렉 터 리 트 리 를 버 전 라 이브 러 리(대상 라 이브 러 리)에 기록 하면 master 분기 가 업 데 이 트 됩 니 다.즉 master 가 가리 키 는 디 렉 터 리 트 리 는 제출 시 임시 저장 구역 의 디 렉 터 리 트 리 입 니 다.
    "git reset HEAD"명령 을 실행 할 때 임시 저장 구역 의 디 렉 터 리 트 리 는 다시 쓰 이 고 master 분기 가 가리 키 는 디 렉 터 리 트 리 로 바 뀌 지만 작업 영역 은 영향 을 받 지 않 습 니 다.
    "git rm --cached <file>"명령 을 실행 할 때 임시 저장 소 에서 파일 을 직접 삭제 하고 작업 공간 은 변 하지 않 습 니 다.
    "git checkout ."또는"git checkout -- <file>"명령 을 실행 할 때 작업 구역 의 파일 을 임시 저장 구역 전체 또는 지정 한 파일 로 교체 합 니 다.이 작업 은 매우 위험 합 니 다.작업 영역 에 임시 저장 영역 에 추가 되 지 않 은 변경 사항 을 제거 할 것 입 니 다.
    "git checkout HEAD ."또는"git checkout HEAD <file>"명령 을 실행 할 때 HEAD 가 가리 키 는 master 분기 의 전부 또는 일부 파일 로 임시 저장 영역 과 작업 영역 에 있 는 파일 을 교체 합 니 다.이 명령 도 매우 위험 합 니 다.작업 영역 에서 제출 하지 않 은 변경 사항 을 제거 할 뿐만 아니 라 임시 저장 영역 에서 제출 하지 않 은 변경 사항 도 제거 할 수 있 기 때 문 입 니 다.
    다음은 몇 가지 자주 사용 하 는 조작 명령 을 통 해 주석 을 통 해 신속하게 구 할 수 있다.대부분의 경우,우 리 는 현지에서 창 고 를 만 들 필요 가 없 기 때문에,이곳 에 서 는 현지에서 창 고 를 만 드 는 것 을 소개 하지 않 습 니 다.
    git 설치 설정
    참고 로 이 글 에 쓴 적 이 있 습 니 다https://www.jb51.net/article/148066.htm
    git 사용 전 설정
    계 정 비밀번호 와 편집 기 를 설정 합 니 다.우선 gitab 에 로그 인 한 계 정과 메 일 을 git 에 게 알려 야 합 니 다.git 는 gitlab 나 github 에 연락 할 때마다 저희 가 설정 한 계 정과 메 일 을 사용 합 니 다.
    
    git config --global user.name "luanpeng"
    git config --global user.email [email protected]
    다른 설정 에 대해 서 는 기본 값 을 사용 하면 됩 니 다.
    4.567917.주의:각 디 렉 터 리 아래 는 창고 이 고 창고 정 보 는 디 렉 터 리 아래 의 git 파일 을 통 해 저 장 됩 니 다로 컬 프로젝트 폴 더 를 원 격 창고 에서 지정 한 지점 의 폴 더 에 업로드 합 니 다.
    원 격 창고 의 분기 내용 을 수정 하려 면 원 격 창고 의 한 분기 pull 을 로 컬 로 가 져 오고 로 컬 에 수 정 된 내용 을 추가 하여 push 에서 원 격 으로 가 져 가 야 합 니 다.
    수정 이란 파일 추가,파일 삭제,파일 비우 기 등 을 포함한다.
    예 를 들 어 원 격 창고 의 luanpeng 분기 의 ios/server 폴 더 아래 에 폴 더 를 올 리 고 싶 습 니 다.
    
                       。
    git clone -b luanpeng [email protected]:luanpeng/cloud-ai.git          luanpeng       。  master  
    cd     
    git branch      ,     luanpeng  
                         ,     。
    git add .                 
    git status               
    git commit -m "describe" //                
               
    git remote add cloudai [email protected]:luanpeng/cloud-ai.git    cloudai          
    git push cloudai luanpeng                 。
    git remote -v            
    git remote rm cloudai          
    
    
    하면,만약,만약...
    git init 가 만 든 창고 입 니 다.push 를 통 해 원 격 창고 에 업로드 하려 면 먼저
    
                (              ,          )
    git pull --rebase cloudai luanpeng               
    로 컬 창고 관리
    만약 당신 이 자신의 컴퓨터 에 창 고 를 만 들 고 싶다 면,자신의 코드 를 스스로 관리 하고,나중에 사용 할 것 입 니 다.아래 동작 을 사용 할 수 있 습 니 다.
    
         
    mkdir projectdir         
    cd projectdir        
    git init           ,    master  
          (         )  ,  ,    
    git add .     //                   ,       ,  add           
    git status                    
    git commit -m "describe" //             
      
    git branch         
    git branch -a        。   *                
    git branch branch-name         ,  branch-name  。             
    git checkout branch-name #   branch-name  ,                 。
    git branch -D branch-name        git branch --delete branch-name
    
    
    원 격 창고 관리
    로 컬 분기 에서 원 격 분기 로 연결 하여 추적 분기(tracking branch)라 고 합 니 다.추적 지점 은 원 격 지점 과 직접 연 결 된 로 컬 지점 입 니 다.추적 브 랜 치 에 git push 를 입력 하면 Git 은 어느 서버 의 어느 브 랜 치 에 데 이 터 를 전송 해 야 할 지 스스로 추측 합 니 다.반대로 이 분기 에서 git pull 을 실행 하면 원 격 색인 을 모두 가 져 오고 데 이 터 를 로 컬 분기 에 통합 합 니 다.
    4.567917.주의:로 컬 에서 만 든 원 격 창고 와 추적 지점 은 원 격 창고 와 지점 의 링크 일 뿐 입 니 다우 리 는 로 컬 에서 원 격 창고 나 원 격 지점 을 관리 할 수 있다
    
    git remote -v            
    git remote rm cloudai    cloudai      
    git remote add cloudai [email protected]:luanpeng/cloud-ai.git             
    git push cloudai :luanpeng         luanpeng  
                 
    git branch        
    git branch -a        
    git branch -r            
    git branch -r -d origin/branchname             
    pull push     
    git pull <    > <     >:<     >    //         ,     ,               
    git pull <    > <     >
    git push [email protected]:luanpeng/cloud-ai.git master //              master   
    git remote add cloudai [email protected]:luanpeng/cloud-ai.git
    git push cloudai luanpeng
          ,                 master       ,      luanpeng  。
    git push cloudai master:luanpeng       luanpeng        luanpeng  
    git push cloudai :luanpeng                 ,            
      :           ,  
    git add .       
    git commit -m "describe"       
    git push cloudai master:luanpeng               
    
    
    총결산
    이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

    좋은 웹페이지 즐겨찾기