本文参考来源:廖雪峰-git教程
创建并提交
初始化本地git仓库
1 | git init |
添加文件到仓库
添加一个或多个文件
1
git add <文件路径> <文件路径> ...
添加当前路径下所有文件
1
git add .
文件提交到仓库
1 | git commit -m "本次提交的说明" |
状态和版本
查看git仓当前的状态
1 | git status |
比较不同
1 | git diff |
git操作日志
详细的提交历史
1
git log
简洁的提交历史
1
git log --pretty=oneline
历史命令
1
git reflog
分支图
1
git log --graph
回退版本
回到上一个版本
1
git reset --hard HEAD^
回退到特定版本
1
git reset --hard commit_id
撤销某个文件的修改操作
1 | git checkout -- <文件名> |
远程库操作
添加远程仓
推荐使用ssh的速度快,https速度慢且每次都需要口令
1 | //git@server-name:path/repo-name.git |
提交到远程仓
第一次提交
1
git push -u origin master
往后提交
1
git push origin master
复制远程仓
1 | git clone 远程仓地址 |
分支管理
创建分支
单纯创建分支
1
git branch <分支名>
创建并切换到分支
1
git checkout -b <分支名>
拉取分支
1 | git checkout <分支名> |
查看所有分支
1 | git branch |
合并分支
合并指定分支到当前分支
1
git merge <分支名>
禁用快速模式
1
git merge --no-ff <分支名>
合并并带上说明
1
git merge -m "<说明>" <分支名>
删除分支
1 | git branch -d <分支名> |
bug分支
创建bug分支
1
git checkout -b <issue-数值>
保存现场
1
git stash
保存的现场列表
1
git stash list
恢复现场
(1)方法一,现场信息不会被删除
1
2git stash apply
git stash drop
(2)方法二,强制恢复
1
git stash pop
feature分支
每一个新功能需要新建一个feature-xxx分支
远程分支与本地分支管理
查看远程分支
1 | git remote -v |
关联远程和本地分支
在本地创建和远程分支对应的分支
1
git checkout -b <branch-name> origin/<branch-name>
本地和远程分支的名称最好一致
建立本地分支和远程分支的关联
1
git branch --set-upstream <branch-name> origin/<branch-name>
标签
创建的标签名不会自动推送到远程git仓库,默认给HEAD打tag,也可以指定一个commit id
新建一个标签
1 | git tag <标签名> |
指定标签信息(非签名)
1 | git tag -a <标签名> -m "<说明>" |
指定标签信息(PGP签名标签)
1 | git tag -s <标签名> -m "<说明>" |
查看所有标签
1 | git tag |
推送某个标签到远程
1 | git push origin 标签名 |
推送所有未被推送的标签名
1 | git push origin --tags |
删除标签
1 | git tag -d 标签名 |
删除远程标签名
先需要删除本地的
1 | git push origin :refs/tags/<标签名> |
配置git设置
配置醒目颜色开启
1 | git config --global color.ui true |
配置用户名
1 | git config --global user.name "名字" |
配置邮箱
1 | git config --global user.email "邮箱" |