这里引用一下“菜鸟教程”对git的描述
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
我的理解:
git分为工作区,暂存区,本地仓库,远程仓库。
- workspace:工作区
- staging area:暂存区
- local repository:本地仓库
- remote repository:远程仓库
Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull
- 平常我们编辑代码的地方可以理解为工作区。
- 编辑完成后可以使用git add ‘文件名’提交到暂存区
- 然后git commit -m ‘提交注释’ 提交到本地仓库
- 工作区代码丢失也可以去本地仓库重新获取git checkout ‘文件名称’
- 本地仓库提交远程仓库使用git push ‘文件名’命令
git下载安装
关于git下载安装这里就不细说了,毕竟我们只有5分钟的时间,可以去git官网下载对应的版本网上查查安装教程。
用户信息
配置个人用户名和电子邮箱地址
$ git config --global user.name "uni-selec"
$ git config --global user.email test@uni.com
练习一下
首先建立一个本地仓库(repository)。你可以使用一个已经存在的目录作为Git仓库或创建一个空目录。我这里就创建一个空目录itep为例:
初始化本地仓库并
git init itep
我们有一个仓库,但什么也没有,先在工作区创建一个文件‘demo.html’,可以使用add命令添加到暂存区。
git add 'demo.html'
我们在工作区创建了好几个新的文件,html,js,和css。接下来我们都可以添加到暂存区
git add 'demo.js'
git add 'demo.css'
当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。注意是修改,而不是新增,新增的文件我们还是要先add,之后再修改这些文件的话,就可以直接使用-a命令了。
现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。
为此,我们将它们提交到本地仓库
git commit -a -m '新增html,js,css'
接下来我们发布版本,提交到远程仓库。注意这里远程仓库的地址只是举例
git push http://git.example.com/project.git
5分钟已经到了吧...
上面从新建一个页面,提交到远程仓库的流程已经说完了,接下来我们说点别的。。
删除文件
删除工作区和暂存区文件git rm ,删除文件有以下几种形式
git rm demo.js
对,就是这么简单,你的工作区和暂存区demo.js这个文件已经没有了
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。
强行从暂存区和工作区中删除修改后的 demo.html 文件:
git rm -f demo.html
如果想把文件从暂存区中删除,但仍然希望保留在当前工作目录中话这样操作
git rm --cached demo.js
文件重命名/移动文件后重命名
git mv fileName newFileName
git mv name1 home/name2
查看文件状态
对文件修改后可以使用以下命名查看文件状态
git status
查看修改日志
git log
查看版本变更路线
git log --oneline --graph
查看一个文件的改动信息
git log -p demo.html
本地文件发生修改需要回退到修改前/本地文件丢失重新从本地仓库获取
git checkout -- demo.html
git checkout demo.html
回退某一文件到某一个版本
//可以先查看需求回退到的版本号
git log
//执行回退命令
git checkout 版本号 -- demo.vue
回退暂存区上一版本
git reset HEAD^ demo.html
将工作区和暂存区都回退上一版本/回退某一个版本
git reset --hard HEAD^
git reset --hard 811072b1413eb728ba5295523dda1843cb790579 //版本号
关于变基
恢复变基
git rebase --continue
中止变基
git rebase --abort
分支管理
创建分支
git branch dev
切换分支
git checkout dev
查看远程仓库分支
git fetch //更新远程所有可见分支
git branch -a #查看所有分支包括本地和远程分支
新建本地分支与远程仓库分支相同并切换到新分支
git checkout -b dev orgin/dev
合并分支
/注意合并分支要先切换回主线分支master才行
git checkout master
/然后在进行合并
git meger dev
删除分支
git branch -d dev
删除远程仓库分支
git push origin --delete dev
合并分支冲突
/忽视分支差异,只保留本分支内容
git meger --abort
获取远程仓库分支dev代码与工作区分支dev合并
git pull origin dev
合并远程仓库的dev分支到当前分支
git merge origin/dev
推送本地分支到远程分支
git push origin dev
推送本地master分支到远程master分支
git push