Git的使用学习
简介
Git是一个分布式版本控制系统(分布式指版本库储存在个人设备中,集中式的版本库位于中央服务器中,需要联网才能使用)。
安装使用流程
Linux上直接使用软件包管理器安装或者编译安装即可,windows上直接在官网下载安装程序即可。
命令行输入
1
2$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"创建版本库
*注意这里的操作是测试使用,如果想工作某个项目一般是先创建一个远程库,然后克隆至本地
创建一个目录
git init即可将此目录变为可管理的仓库
1
$ git init [name]将文件添加到仓库(在仓库目录中执行)
1
$ git add 文件名用命令
git commit告诉Git,把文件提交到仓库(-m命令为此次提交填写说明-m "xxx")
常用操作
git status查看仓库状态git diff <文件名>查看修改区别版本回退
- 使用
git log查看更新日志 - 使用
git reset --hard <版本号>(版本号可以是commit id的前几位,也可以用HEAD、HEAD^、HEAD~n(往上n个版本)) gut reflog查看每一次命令
- 使用
撤销修改
git checkout -- <文件名>使工作区的修改撤回至暂存区/(如果暂存区没有)版本库。(工作区是指你修改文件的地方,使用git add后修改被传至暂存区,使用git commit后修改被传至版本库)(应用于修改了还没add)git restore <file>将文件的修改撤销至暂存区,并清空暂存区(应用于修改了还没add且上一次add还没commit)git restore --satge <file>将暂存区清空但不修改工作区修改(应用于add了还没commit)暂存区<–工作区git reset HEAD <file>将暂存区的修改撤销至版本库(应用于add了还没commit)暂存区<–版本库
删除文件
删除工作区文件后继续删除版本库中文件
git rm <file>thengit commit -m <message>删除工作区后恢复
1
$ git checkout -- test.txt
远程仓库
有两种选择
- 搭建一个个人的Git服务器,这种服务器别人无法看见;
- 使用Github免费仓库,其他人可见。
关联至github远程仓库
需要使用SSH加密所有需要获取个人的私钥和公钥,若没有则
1 | |
将本地仓库与远程仓库关联,在本地仓库中执行指令
1 | |
把本地库的所有内容推送到远程库
1 | |
上述指令是将本地的分支master推送到远程仓库origin。-u是关联的参数。
删除远程库
git remote -v 查看远程库信息
git remote rm <name> 解除与远程库的绑定关系
git clone 克隆远程库
1 | |
分支管理
创建并切换分支
1 | |
或者
1 | |
使用 git branch 查看当前分支
合并分支
先切换回master分支
1 | |
若是master和dev都修改过,则可能产生冲突,需要先消除冲突。
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
删除分支
1 | |
保护现场
1 | |
将相同的修改应用至别的分支
1 | |
丢弃一个没有被合并过的分支
通过git branch -D <name>强行删除
标签
切换到分支然后
git tag <name>使用
git tag查看所有标签给某次提交打标签
$ git tag <name> <commit ID>删除标签
git tag -d <name>推送某个标签到远程
git push origin <tagname>或者git push oringin --tags从远程删除标签
$ git push origin :refs/tags/<name>