版本控制软件GIT的使用
版本控制软件GIT的使用
git下载
- 苹果和linux系统自带git windows用户下载地址
git配置
配置电子邮件
1
git config --global user.email "l119520@ooutlook.com"
配置用户名
1
git config --global user.name "gaolengjun"
配置编辑器
1
git config --global core.editor vim
配置合并工具
1
git config --global merge.tool vimdiff
查看配置
1
git config --list
查询帮助
语法:git help 命令
1
git help add
该命令自动打开该参数浏览器详情页面
创建仓库
初始化
1
git init
在当前操作文件夹里生成**.git**文件夹
查看仓库状态
1
git status
添加文件到索引区
在仓库目录里直接创建文件,git无法感知,需要执行下面命令让git追踪添加的文件,可以使用git status查看状态
第二个使用.的命令,可以将该目录下所有文件添加到索引区
1
2git add test.txt
git add .提交
1
git commit -m "add test.txt"
引号中建议写上提交理由,知道你干了什么。提交文件后再使用git status查看状态就什么都没有了
查看提交日志
完整日志
该命令查看已提交的文件,包括作者姓名、邮箱和提交日期
1
git log
查看近期几条记录
1
git log -2
一行显示
1
git log --oneline
详细显示
该参数可以查看更新了那些内容
1
git log -p
删除和更名
本地删除文件仍然要执行该命令让git感知该文件已被删除
1
git rm read.md
从索引区删除文件
1
git rm --cached style.css
修改文件名
1
git mv test.txt test.md
更新后提交
已经commit文件,再次增删代码后使用git status会红色提示modified: index.html,表示该文件已发生更新,此刻需要重新git add index.html添加到索引区,使用git status会绿色提示modified: index.html,再次git commit -m “add code”提交
撤销操作
撤销更改
当更改文件后,尚未添加索引区,可以使用git命令恢复
1
2git restore index.html
git checkout -- index.html从索引区恢复
执行以下命令从索引区退出后,再执行上面命令恢复
1
2git restore --staged index.html
git reset HEAD index.html
比较内容
未添加索引区前比较内容
不同的内容将以绿色标识出来
1
git diff
添加到索引区比较内容
1
git diff --cached
git忽略管理
设置git忽略的文件,这些文件不参与git库的管理和提交
- 在git管理目录下新建一个.gitignore文件,注意,这不是后缀,就是这个文件名
- 打开.gitignore文件,输入*.tem保存,意思是凡是后缀为.tem的文件会被git忽略管理,然后git status就看不到该文件了
不管被忽略的文件在任何层级目录下,git都会忽略管理
更新最后的提交
提交后发现有问题,不想修改后重复提交,在已提交的基础上更新内容
- 修改文件后,git status查看状态
- git add .添加索引区
- 使用git commit –amend命令提交,不会重新生成记录,可以git log -2查看日志
返回过去
更新了文件尚未添加索引区,但需要返回未修改前版本
1
git reset --hard HEAD
返回上次提交版本
1
git reset --hard HEAD~
返回指定版本
这里的数字是指定返回上两次前的版本
1
git reset --hard HEAD~2
根据版本ID返回指定版本
使用git log命令查看日志,可以看到版本id,特别颜色高亮显示;使用git log –oneline -4命令简单显示日志,id是简写的。使用该版本id可以硬性回滚版本
1
git reset --hard b6fb43b
查询版本ID
如上操作可以根据版本id回滚版本,如果一不小心清屏了或者忘记版本id,就可以使用如下命令查询版本id再恢复该版本
1
git reflog -3
使用分支
在之前的操作都是在主分支(master)上,在实际开发中都是使用开发分支,开发分支相当于主分支的副本,每个人负责自己的模块,不同分支之间互不影响,确认无误后最终合并到主分支
新建分支
1
git branch dev
查看所有分支
带星号的是当前所操作的分支
1
2git branch
* master切换分支
第二条命令是创建分支同时切换到该分支
1
2git checkout dev
git checkout -b dev
合并分支
修改并提交开发分支后,确认无误后,需要合并到主分支
确保切换到主分支(master),使用以下命令合并分支
1
git merge dev
合并分支后,删除无用的开发分支
1
git branch -d dev
解决分支合并冲突
当团队中多人编辑同一文件的时候,难免出现源代码的编辑合并冲突问题
使用VS code会自带分支冲突菜单命令,设置以哪个分支为准进行合并以及比较内容。其次,解决分支合并冲突的问题就是手动修改代码
使用TAG标签
使用tag标签给应用程序贴上版本号
新建tag标签
1
git tag V1.0.0
查看所有tag标签
1
git tag
查看版本详情
通过该命令可以查看这个版本的变动
1
git show V1.0.1
使用别名
在git中可以给经常使用的命令取别名,以别名缩写的方式简化使用
给git status取别名,语法:git config –global alias.st status
其它git命令同样设置
1 | git config --global alias.co checkout |
使用git config -l查看git全局设置,包括自定义的别名
克隆远程仓库和推送
克隆远程仓库
命令格式:git clone url
1
git clone https://gitee.com/komavideo/LearnOSC.git
查看所有分支,包括远程分支
1
2
3
4git branch -a
remotes/origin/HEAD -> origin/master
remotes/origin/dev
remotes/origin/master远程分支迁移到本地
使用如上命令会红色显示远程分支,加入下方命令中迁移到本地
1
git branch dev remotes/orgin/dev
切换到开发分支,修改内容
1
git checkout dev
提交前,先使用如下命令查看远程服务器设置
origin是远程服务器url的缩写,两者是一样的。fetch表示使用该命令获取仓库,使用push推送到远程仓库
1
2
3git remote -v
origin https://gitee.com/komavideo/LearnOSC.git (fetch)
origin https://gitee.com/komavideo/LearnOSC.git (push)推送到远程仓库
1
git push origin dev