一、git简介
git是一个开源的分布式版本控制系统,可以高效的进行项目版本管理。分布式相比集中式最大的区别在于:分布式开发者可以提交到本地,每个开发者通过克隆在本地机器上拷贝一个完整的git仓库。
二、git
官网的下载:https://git-scm.com/
安装:直接一路下一步即可完成安装。
安装验证:git --version
三、git用户信息配置
查看配置信息:git config --global --list
新增配置信息:git config --global user.name 'wzx'
git config --global user.eamil 'wzx@163.com'
git config --global user.phone '123456789998'
四、建立git仓库
情况1:没有文件时
cd 具体目录,右击’Git Bash Here'
git init 项目名
情况2:已有文件时
cd 具体目录
git init
五、本地仓库
在没有配置用户信息时将会发出提示信息:
查看配置信息:git config --local --list
新增配置信息:git config --local user.name 'test2'
git config --local user.eamil 'test2@163.com'
git config --local user.phone '123456789998'
六、git提交版本
git add test1.txt
git commit -m '新建版本文档'
git add .(将当前目录下的所有文件都一起提交)
git commit -m '完毕'
查询版本信息:git log
七、git版本状态查看
查看状态:git stuatus(当前所有的文件已提交到版本库)
查看状态:git stuatus(当前test1.txt文件在本地已修改但未提交)
查看状态:git stuatus(当前test1.txt文件在本地已修改并且添加到了暂存区)
查看状态:git stuatus(当前newfile.txt文件属于新增文件)
查看状态:git stuatus(当前newfile.txt文件属于新增文件)
查看状态:git stuatus -s(展示简单信息,当前newfile.txt文件属于新增文件并且未提交到暂存区),与上面展示内容相同
八、查看git历史版本
查看历史版本:git log
只显示一行:git log --pretty=oneline
显示版本之间的差别:git log -p
显示最近5个版本:git log -5
显示最近5个版本之间的差别:git log -5 -p
查看大体统计信息:git log --stat
九、gitignore忽略文件:忽略文件的作用是当提交文件时可以指定那些格式的文件将不会被提交到版本库中。
步骤:新建一个.gitignore固有的文件夹,文件内容为需要忽略的文件
测试数据如下:
提交版本测试:git add . git commit -m "测试忽略文件"
十:版本比对:git diff(对比的文件指的是还没有提交到缓存区的才可执行比对,git add后就会没有区别)
注:红色代表删除了此内容。绿色代表新增的内容。白色指示相同部分。
注:add和commit可以缩写成:git commit -a -m '表示新增和提交组成一个命令"
新版本与旧版本之间的比对:git dif 版本1 版本2
注:git diff --staged(比较的是以及加入暂存区的版本和其他版本的比较)
十一、git rm 删除文件
修改了文件但是还没有放入暂存区:git restore filename
以及放到缓存区的取消暂存区的状态:git restore --staged filename
将已经提交到版本库的文件删除此时本地与版本控制系统都不存在:git rm file
删除版本控制系统的文件删除本地还是存在:git rm --cached file
正则匹配文件:git rm *.pyc
所有的删除文件操作后也是需要git commit 去提交的。
十二、git mv 移动文件,移动文件时需要先确认文件夹已存在
移动文件:git mv 测试报告.doc /doc/测试报告cpoy.doc 后在需要执行提交到版本库
十三、版本补录git commit --amend:指的是已经提交了版本但是部分文件没有加入版本库
执行:git commit --amend -a (将文件添加到缓存区并提交到已有的版本库,会提示是否修改版本信息,不修改的话执行wq!保存退出。若修改了版本信息则上次的版本信息会被修改。)
十四、给版本标签:
git tag -a tagname -m "提交信息"
加上标签后可以利用git show V5.1将会展示版本的详细信息
git tag tagname 轻量标签
git tag -a tagname 版本哈希值 -m "第一个版本的标签补录':将之前的版本补录标签信息
git show tagname:显示当前标签版本的详细文件信息
git tag:显示所有的标签
git tag -l V*:显示版本标签以V开头的信息
git tag -d tagname:删除标签信息
十五、检出checkout
git checkout 版本号:切换到之前的某个版本(当切换到之前的某个版本时再执行git log 这个版本之后的版本将不再显示)
git reflog:会显示所有的版本记录
git checkout 标签名:根据标签名进行检出
十六、别名:git alias
git config --global alias.st 'status' ====》git status=git st
git config --global alias.last 'log -1 HEAD'====》git last=git log -1 HEAD
git config --global alias.oneline 'log --pretty=oneline'====》git oneline=git log --pretty=oneline
十七、git远程地址
查询当前版本是否为远程地址,为空表名只是本地:git remote=git remote -v
添加到远程地址:git remote add study https://github.com/wzx191212/study1.git
查询远程项目详细信息:git remote show 远程名称
把本地内容推送到远程仓库保持同步:git push study master(study表示远程名称,master表示本地备份分支,默认都是master)
拉取远程仓库到本地:git fetch study(这个不推荐使用拉取到本地和文件不会合并)
拉取远程仓库到本地:git pull study master(推荐使用拉取到本地时文件会自动合并)
十八、远程修改:git remote rename
文件的重命名:git remote rename 老文件 旧文件
文件的移除:git remote rm name
重新添加到远程仓库:git remote add study2 https://github.com/wzx191212/study1.git
十九、克隆远程项目,针对新项目中可以部分复用以前项目的情况:git clone url
可以在本地新建文件夹后将以前的项目地址拉取到本地修改:git clone https://github.com/wzx191212/study1.git