1. 간략한 소개
Git이 등장하기 전에는 대부분의 회사에서 여전히 프로젝트 관리에 SVN을 사용했습니다. 여기에 비교가 있습니다.
중앙화(SVN):
중앙 집중식 버전 제어 시스템에는 여러 유형의 관리가 있는 단일 서버가 있으며 모든 파일의 수정본을 저장하고 함께 작업하는 사람들은 클라이언트를 통해 이 서버에 연결하여 최신 파일을 가져오거나 업데이트를 제출합니다.
장점: 1. 일반적인 논리에 따른 편리한 관리, 2. 높은 보안, 3. 높은 코드 일관성, 4. 소수의 사람들로 개발에 적합,
단점: 1. 서버에 대한 부담이 크고 데이터베이스 용량이 급격히 증가하며 서버에 연결할 수 없으면 기본적으로 작동하지 않습니다 3. 오픈 소스 개발에 적합하지 않습니다.
분산(Git):
분산 버전 제어 시스템에서 클라이언트는 파일 스냅샷의 최신 버전을 추출할 뿐만 아니라 원본 코드 웨어하우스를 완전히 미러링하므로 서버가 충돌하면 모든 로컬 웨어하우스로 복구할 수 있으며, 이 시스템은 다음과 같이 지정할 수 있습니다. 다른 원격 코드 웨어하우스와 상호 작용합니다.
장점: 1. 개인을 강조하는 분산 개발에 적합 2. 공용 서버 압력과 데이터 양이 너무 크지 않음 3. 빠른 속도와 높은 유연성 4. 두 개발자가 충돌할 가능성이 더 높음 5. 오프라인 작업 ;
단점: 코드 기밀성이 좋지 않습니다. 개발자가 전체 라이브러리를 복제하면 모든 버전과 버전 정보가 공개될 수 있습니다.
2. 구성 정보
配置用户名:git config --global user.name “xxx”
配置邮箱:git config --global user.email “xxx"
配置大小写敏感:git config --global core.ignorecase false
查看配置信息:git config --list
3. 기본 원칙
힘내 작업 공간:
1. 원격: 원격 창고, 서버 호스팅 코드(github와 유사)
2. Repository: 웨어하우스 영역, 즉 데이터가 안전하게 저장되고 모든 버전의 데이터가 제출되는 로컬 웨어하우스(.git 폴더)이며, HEAD는 웨어하우스에 넣은 최신 버전을 가리킵니다.
3. index/Stage: 변경 사항을 일시적으로 저장하는 임시 저장 영역으로, 실제로는 파일이며 파일 목록에 제출할 정보를 저장하는 데 사용됩니다.
4. 작업공간: 작업공간, 즉 편집 파일의 위치
위의 그림에 따라 코드 제출 프로세스를 이해하십시오.
1. git add: 작업 공간의 파일을 임시 저장 영역에 제출합니다.
2. git commit: 임시 저장 영역에 있는 파일을 로컬 창고에 제출합니다.
3. git push: 로컬 창고를 원격 창고에 제출합니다.
힘내 파일 상태:
- Untracked : 이 폴더에 있지만 git 라이브러리에 추가되지 않은 Untracked는 버전 제어에 참여하지 않으며 git add status를 통해 준비됩니다.
- Unmodified : 파일이 웨어하우스에 저장되고 수정되지 않은 상태, 즉 리포지토리의 파일 스냅샷 내용이 폴더와 일치합니다. 이 유형의 파일에는 두 가지 유형의 추출이 있습니다. 수정된 경우 제거되면 리포지토리 git rm은 추적되지 않음이 됩니다.
- 수정됨 : 파일이 수정되었습니다. 이 파일에는 두 개의 대상이 있으며 첫 번째는 준비되고 두 번째는 수정되지 않습니다.
- Staged : git commit을 실행하면 수정 사항이 라이브러리에 동기화되며 이때 라이브러리에 있는 파일은 로컬 파일과 일치하지만 파일은 Unmodified입니다. git reset HEAD filename을 실행하여 임시 저장을 취소하면 파일 상태가 수정됩니다.
4. 기본 조작
다음은 몇 가지 간단한 작업입니다.
-
로컬 창고 초기화
git init # 将本地文件夹变成一个本地仓库 ll -ah # 可以看到.git隐藏文件夹
-
새 파일 추가
git add text.txt # 新增一个文件 git commit -m "add a text.txt" # 提交信息
-
새 버전을 제출한 후 버그가 있으면 버전을 롤백하십시오.
git log # 查看提交的日志 git reset --head Head^ # 回退到上个版本,^代表回退几个版本(如果已经commit,需要这样回退
-
지점 및 태그 관리
git checkout -b dev # 创建dev分支 git branch # 查看当前分支 git checkout master # 切换到master分支 git merge dev # 将dev分支合并到当前分支 git branch -d dev # 删除dev分支
V. 요약
Git에는 실제로 많은 작업 명령이 없습니다. 가장 중요한 것은 Git의 가장 중요한 부분인 작업 공간 및 파일 상태의 개념을 이해하는 것입니다.
우리가 Git을 사용하면 실수가 두렵지 않고, 사실 오류를 허용할 여지가 많을 것이고, 누가 갑자기 라이브러리를 삭제하고 도망가는 것도 두렵지 않다.
물론 Git 명령은 위에서 언급한 것보다 훨씬 더 많고 실제 사용에서 지속적으로 이해해야 할 사항이 훨씬 더 많습니다.