Git的安装
通过 https://git-scm.com/downloads ,git官网下载需要的版本,一路下一步安装即可
装好后,在电脑文件夹的任意位置右键,即可看到git相关的命令。
git bash是命令行工具
git gui是图形化工具
打开git bash后,输入git –version ,能正确输出版本号,则证明安装成功。
基本命令
配置用户名和邮箱
1 2
| git config --global [user.name](http://user.name) ‘自己的名字’ git config --global [user.name](http://user.name) ‘自己的邮箱’
|
- local 只对当前仓库有效
- global 所有仓库有效
- system 对系统所有用户有效
查看配置
1 2 3
| git config --list --local git config --list --global git config --list --system
|
清除配置
1 2 3
| git config --unset --local [user.name](http://user.name) git config --unset --global [user.name](http://user.name) git config --unset --system [user.name](http://user.name)
|
创建仓库
进入要被托管的文件夹,执行
添加文件至暂存区
提交文件
查看git状态
查看修改内容
修改文件名字
查看日志
1 2 3 4 5 6 7 8
| 功能为查看日志 git log
查看日志,以单行显示 git log --pretty=oneline
功能为查看历史操作记录,比如回退版本后想要重返“未来”可以查看最新的提交版本 git reflog
|
通过可视化工具查看提交信息
版本回退
1 2 3 4 5
| 退回到上一个版本 git reset --hard head
当知道对应的版本号时,可以用这个命令,适用于回退和前往之前的新版本 git reset --hard 版本号
|
撤销操作
1 2 3 4 5 6 7 8 9 10 11
| 新版本git提示用该命令进行撤销 git restore 文件名
旧版本用此命令做撤销,新版本也可以用 git checkout – 文件名
如果已经add进暂存区 git restore --staged 文件名
新版本git用该命令此为旧版本git命令,新版本也可以用 git reset head 文件名
|
删除文件
使用分支
查看当前分支
创建dev分支并切换过去
1 2 3 4 5 6 7 8
| -b表示创建并切换,相当于下面两条命令 git checkout -b dev
创建分支 git branch dev
切换分支 git checkout dev
|
注意:上面是老版本的命令,创建分支和撤销都用checkout容易分不清,因此新版本创建分支推荐用
1 2 3 4 5 6
| switch 创建并切换到dev git switch -c dev
直接切换到已有的dev分支 git switch dev
|
合并分支
1 2 3 4 5
| 将dev分支合并到当前分支,合并后会丢失原来分支的信息 git merge dev
合并dev到当前分支,–no-ff表示禁用fast forwad,之后查看日志时是可以看到已被删除分支的信息 git merge --no-ff -m “merge with no-ff” dev
|
删除分支
1 2
| git branch -d dev git branh -D dev
|
如果dev没有被合并过用大写 -D
查看分支合并情况
1
| git log --graph --pretty=oneline --abbrev-commit
|
stash的使用(bug分支)
1 2 3 4 5 6 7 8
| 保存当前的工作现场 git stash
查看所有被保存的工作 git stash list
恢复并删除工作现场,等价于git stash apply + git stash drop git stash pop
|
开发环境在dev分支下,bug修复是提交在master中,如何快速合并至dev下:转移至dev分支下,执行下面命令
1
| git cherry-pick bug分支的提交版本号
|
远程克隆到本地
关联
1 2
| $ git remote add origin 自己的git项目地址 $ git remote add origin https://github.com/xxxx/axxxx.git
|
如果本地先建好了项目,那么执行这个命令将本地仓库与远程仓库关联
如果是本地没有项目,从远程往下拉项目则是克隆
备注:如果关联错了,解决办法如下
暴力解决:删除 .git文件夹,重新建立本地仓库
优雅解决:``git remote remove origin` 再重新关联仓库
提交代码到 GitHub 仓库
拉取远程的更新
第一和远程关联上之后,在提交之前要先拉去一下远程的更新才行
基本推送
1 2 3 4 5
| 第一次推送是要加上-u,可以把本地的master和远程的master关联起来,方便以后的推送或者拉取 git push -u origin master
之后推送可以直接用该命令 git push origin master
|
查看远程仓库信息
1 2 3 4
| git remote
此命令可显示更详细信息 git remote -v
|
多人协作
- git checkout -b 分支名 origin/分支名,在本地创建和远程分支对应的分支,名称最好一致
- git branch –set-upstream-to=origin/dev dev,建立本地分支和远程分支的关联
- git pull,先抓取远程的更新,如果有冲突,手动解决冲突
- git push origin 分支名,解决冲突后推送
标签
基本操作
标签的作用可以简单理解为给版本起名字
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| 查看所有标签 git tag
把当前分支的最新提交打上标签,标签名字自己起 git tag 标签名
把某个版本号的提交打上标签 git tag 标签名 对应commit版本号
可以用这种方式给标签增加说明,-a对应标签名,-m对应描述信息 git tag -a v0.1 -m “描述信息” 版本号
查看标签具体信息 git show 标签名
删除标签 git tag -d 标签名
|
推送标签
1 2 3 4 5 6 7 8 9 10 11 12
| 推送某个标签到远程 git push origin 标签名
推送所有标签到远程 git push origin --tags
删除远程标签: 先删除本地标签 git tag -d 标签名
然后从远程删除 git push origin: refs/tags/标签名
|