이 기사에서는 Git에 대한 관련 지식을 주로 소개하고 사례를 통해 분석합니다. 모든 사람에게 도움이 되기를 바랍니다.
추천 학습: "Git Tutorial"
Git은 크고 작은 프로젝트를 민첩하고 효율적으로 처리하는 데 사용되는 오픈 소스 분산 버전 제어 시스템 중 하나입니다. 가장 널리 사용되는 버전 관리 도구입니다.
SVN은 버전 라이브러리가 중앙 서버에 집중되어 있기 때문에 먼저 최신 버전을 받아야 합니다. 중앙서버에서 버전을 내려받은 후 작업을 하시면 됩니다. 작업을 마친 후에는 지금까지 진행한 작업을 중앙서버로 푸시해야 합니다. 중앙 집중식 버전 관리 시스템이 작동하려면 인터넷에 연결되어 있어야 합니다. LAN에 있으면 괜찮고, 대역폭도 충분히 크고, 인터넷에 있으면 속도도 충분히 빠릅니다. 속도가 느려서 혼란스러울 것입니다.
Git은 분산 버전 관리 시스템이므로 중앙 서버가 없습니다. 모든 사람의 컴퓨터는 완전한 버전 라이브러리이므로 작업할 때 인터넷에 연결할 필요가 없습니다. 당신의 컴퓨터에서. 모든 사람의 컴퓨터에는 완전한 버전 라이브러리가 있는데 어떻게 여러 사람이 공동 작업을 할 수 있습니까? 예를 들어, 귀하가 귀하의 컴퓨터에서 파일 A를 수정했고 다른 사람도 귀하의 컴퓨터에서 파일 A를 수정한 경우, 수정 사항을 서로 푸시하기만 하면 서로의 수정 사항을 볼 수 있습니다.
Git은 오랫동안 Linux에서 개발되었으며 Linux 및 Unix 시스템에서만 실행될 수 있었습니다. 그러나 천천히 누군가가 이를 Windows로 이식했습니다. 이제 Git은 Linux, Unix, Mac 및 Windows의 주요 플랫폼에서 정상적으로 실행될 수 있습니다.
을 다운로드하여Git
,第一步当然是安装Git
. https://git-for-windows.github.io에서 다운로드(인터넷 속도가 느리면 국내 미러로 이동해주세요) 후, 기본 옵션에 따라 설치하세요.
다운로드가 완료된 후 설치를 위해 엽니다(아래 그림에 따라 구성).
그러면 설치가 완료될 때까지 조용히 기다리시면 됩니다. 완료 후 바탕화면이나 폴더의 빈 공간을 마우스 오른쪽 버튼으로 클릭하시면 됩니다. 아래 그림과 같은 메뉴바가 나타납니다. 그러면 설치가 성공적으로 완료되었음을 의미합니다.
설치 후 명령 상자가 나타납니다. 마지막 단계인 식별자를 설정해야 합니다. git은 분산 관리 도구이므로 사용자 이름과 이메일 주소를 식별용으로 설정해야 합니다. 팝업 상자에 다음 코드를 입력하면 됩니다.
git config --global user.name "Your Name"git config --global user.email "email@example.com"
참고: git config --global 매개변수를 사용하면 컴퓨터의 모든 Git 저장소가 이 구성을 사용한다는 의미입니다. 물론 특정 저장소에 대해 다른 사용자 이름과 설정을 지정할 수도 있습니다. .
주로 작업 효과를 확인하기 위해
링크: https://pan.baidu.com/s/19lIBz4IFwurxNvzXGgTqRg
추출 코드: fmte
Git을 실행하기 전에 먼저 Git 저장소를 생성하고 필요한 곳에 빈 폴더를 생성해야 합니다. 그런 다음 폴더를 입력하고 빈 공간을 마우스 오른쪽 버튼으로 클릭한 다음 Git Bash Here를 클릭하여 현재 폴더에서 Git 작업을 수행합니다.
git init
cd:进入某个目录 mkdir:创建一个文件 pwd:显示当前的目录路径 鼠标选中就是复制,粘贴可以右键粘贴,也可以用使用快捷键:Shift+INS
git add a.txt
git add .
git commit -m "双引号里面是注释——你的提交说明"
原因:commit
可以一次提交很多文件,所以你可以多次add
不同的文件
例如:
git add file1.txt #单个添加文件到暂存区git add file2.txt file3.txt #多个添加文件到暂存区git add . #添加当前文件夹下所有文件到暂存区git commit -m "add 3 files." #提交所有暂存区的文件
使用下面命令检查当前文件状态
git status
结果:没有需要提交的文件了;
创建一个新的文件 b.txt,内容为 bbb,再来检查文件状态
结果:存在未跟踪文件没有添加到暂存区和提交到版本库;
添加 b.txt 到暂存区之后,再来检查文件状态
结果:暂存区中有一个新的 b.txt 文件没有添加到版本库中;
提交 b.txt 到版本库之后,然后把 b.txt 内容从 bbb 修改为 bbba,再来检查文件状态
结果:被改变的文件 b.txt 没有添加到暂存区且没有提交
git add b.txtgit commit -m "提交修改的 b.txt 文件"
git log
注意:使用上面命令信息多的话会进入 log 模式,想要退出,在英文输入法的前提下按 q 就可以退出了
git log --pretty=oneline
git log -1
git log #查看全部历史提交记录git log --pretty=oneline #精简显示所有历史提交记录git reflog #可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)git log -p #查看全部提交历史并展示每次修改的内容git log -2 #查看最近2次提交历史(注意:后面的数字是可以自定义的,也就是说,这种写法是 git log -n 的体现)git log -p -2 #查看最近2次提交历史并展示修改的内容git log --stat #查看提交历史,并展示摘要内容(摘要会列出修改的文件以及每个文件中修改了多少行)
Git
必须知道当前版本是哪个版本,在Git
中,用HEAD
表示当前版本,上一个版本就是HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
。git reset --hard HEAD^
git reset --hard
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b
结果:从查看的历史版本结果可以看出我们回退到了 “提交 a.txt” 版本
git reflog
结果:reflog 可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
git reset --hard 7a42e7b
结果:历史版本信息可以看出我们已经回退到了我们想要的版本
例如:我们把 b.txt 文件内容修改为为 bbbaaa,然后用下面代码查看,可以看出我们修改了什么
git diff # 查看不同版本之间的文件差异
推荐使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit
注意:建议每次 commit 之前先检查是否有文件没有被 add
git checkout -- filename
git checkout -- filename
可以丢弃工作区的修改:– 后面是一个空格
命令 git checkout -- readme.txt
意思就是,把 readme.txt
文件在工作区的修改全部撤销,这里有两种情况:
一:readme.txt
自修改后还没有被放到暂存区(git add
),现在,撤销修改就回到和版本库一模一样的状态;
二:readme.txt
已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次 git commit
或 git add
时的状态。
注意:git checkout -- file
命令中的 --
很重要,没有 --
,就变成了**“切换到另一个分支”**的命令,我们在后面的分支管理中会再次遇到 git checkout
命令
通常直接在文件管理器中把没用的文件删了,或者用rm
命令删除,例如:删除 b.txt
git rm b.txt
删除步骤
git rm b.txt --cached
b.txt 处于未跟踪状态,也就是从暂存区删除。
特别说明:处于未跟踪状态只是没有存在于暂存区,历史提交记录中的记录依然存在。
所谓的暂存区仅仅是.git目录下的一个index文件罢了,这也是为了什么被称为index(索引),当删除暂存区内容的时候,其实就是删除index文件中的内容,.git/objects目录中的内容不会被删除。
rm .git/index
git branch #查看分支 git branch <name> #创建分支git checkout <name> #切换分支git checkout -b <name> #创建 + 切换分支git merge <name> #将某分支合并到当前分支git branch -d <name> #删除分支</name></name></name></name></name>
命令 | 作用 |
---|---|
git config --global user.name “Your Name” | 设置用户名 |
git config --global user.email “email@example.com” | 设置邮箱 |
命令 | 作用 |
---|---|
git init | 初始化 git,创建 .git 文件 |
命令 | 作用 |
---|---|
cd | 进入某个目录 |
mkdir | 创建一个文件 |
pwd | 显示当前的目录路径 |
鼠标选中就是复制 | 复制 |
直接鼠标右键粘贴 / 快捷键:Shift+INS | 粘贴 |
命令 | 作用 |
---|---|
git add a.txt | 添加 a.txt 到暂存区 |
git add . | 添加当前根目录下的所有文件到暂存区 |
git commit -m “双引号里面是注释——你的提交说明” | 把暂存区的文件提交到版本库(一次全部提交) |
命令 | 作用 |
---|---|
git status | 查看文件状态(检查是否有未提交文件) |
Command | Function |
---|---|
git log | 모든 커밋 기록 보기 |
git log --pretty=oneline | 간단하게 모두 표시 form 히스토리 커밋 기록 |
git reflog | 모든 브랜치의 모든 작업 기록을 볼 수 있습니다(삭제된 커밋 기록 및 재설정 작업 포함) |
git log -p | 모든 커밋 기록을 보고 표시합니다. 각 수정 내용 |
git log -2 | 최근 2개의 제출 내역 보기(참고: 다음 숫자는 사용자 정의할 수 있습니다. 즉, 이 작성 방법은 git log -n의 구현입니다. ) |
git log -p -2 | 지난 2개의 제출 기록을 보고 수정된 내용을 표시합니다. |
git log --stat | 제출 기록을 보고 요약 내용을 표시합니다(요약에는 수정된 파일 그리고 각 파일에서 몇 줄이 수정되었는지) |
Command | Function |
---|---|
git Reset --hard HEAD^ | 되돌리기 이전 버전으로 돌아가기 |
git Reset --hard HEAD~N (- 아님, 물결선임) | 이전 N 버전으로 돌아가기 |
git Reset --hard | 지정된 버전으로 돌아가기 |
git reflog 및 git Reset --hard 롤백된 버전을 복원하려면 | 를 사용하세요. |
Command | Function |
---|---|
git diff | 버전 간 파일 차이점 보기 |
Command | Function |
---|---|
git checkout – b.txt | One: readme.txt 自修改后还没有被放到暂存区(git add ),现在,撤销修改就回到和版本库一模一样的状态;二: readme.txt 스테이징 영역에 추가된 후 수정이 이루어진 후 이제 수정을 취소하고 돌아옵니다. 준비 영역에 추가하는 방법입니다. |
Command | Function |
---|---|
git rm b.txt | rm 파일 삭제 rm이 자동으로 준비 영역에 추가됩니다. 삭제 , 생략 manual add 명령 마지막으로 커밋되고 파일이 삭제됩니다 |
git rm b.txt --cached | 캐시 영역에서 단일 파일을 삭제합니다. b.txt는 추적되지 않는 상태입니다. 준비 영역에서 삭제되었습니다 |
rm .git/index | 모든 캐시 지우기 |
Command | Function |
---|---|
git 브랜치 | 브랜치 보기 |
git 브랜치 | 브랜치 만들기 |
git checkout | 브랜치 전환 |
git checkout -b | 생성 + 새 브랜치로 전환 |
git merge | 브랜치를 현재 브랜치에 병합합니다 |
git Branch -d | Delete Branch |
권장 학습: "Git 학습 튜토리얼"
위 내용은 일반적인 Git 작업 명령어에 대한 자세한 사례 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!