git 常用命令总结

git学习教程:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

安装后配置全局参数

git config --global user.name "name"
git config --global user.email "email@example.com"

查看全局配置

git config -l

创建版本库

mkdir gitRepo //建立仓库
git init //初始化仓库

添加和提交

git add readme.txt
git commit -m "add a readme.txt" //-m 提交注释

git status //查看当前仓库状态
git diff //查看具体修改内容

git log //查看提交日志,由近到远
git log --pretty=oneline //简化显示

版本回退

git reset --hard head^
git reset --hard 3628164 //根据版本号回退
head^ 表示上一个版本
head^^ 表示上上个版本
head~100 表示往上一百个版本

回退后的再恢复回来,只需找到“未来版本”的版本号即可
git reflog //查看命令历史

撤销工作区修改
git checkout -- readme.txt

撤销暂存区
git reset head readme.txt

创建ssh key

ssh-keygen -t rsa -C "email@example.com"
生成:id_rsa(秘钥),id_rsa.pub(公钥)
然后去个人账号,settings,add ssh key;

在本地添加远程库(相关联)

git remote add origin git@github.com:peak-c/demo.git

把本地库所有内容推送到远程库

git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数, Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push origin master

克隆远程库到本地

git clone git@github.com:peak-c/demo.git

创建分支

git checkout -b dev //-b表示创建后切换
git branch //查看分支
git merge dev //将dev分支合并到master
git branch -d dev //删除dev分支

git log --graph //可以看到分支合并图。

在master分支下,合并dev到master

git merge --no-ff -m "merge with no-ff" dev

保存现场与恢复

git stash //保存工作现场
git stash list //查看保存的工作现场
恢复现场:
git stash apply ;然后用git stash drop删除;
git stash pop ;恢复的同时把stash内容也删了:

标签

git tag v1.0 //打标签
git tag v0.9 6224937 //给指定提交打标签
git tag //查看标签
git show <tagname> //查看标签信息
创建带有说明的标签,用-a指定标签名,-m指定说明文字
git tag -a v0.1 -m "version 0.1 released" 3628164
git tag -d v0.100 //删除指定标签

git push origin v1.0 //推送指定标签
git push origin --tags //推送全部未推送标签

git push origin :refs/tags/<tagname>//删除远程标签

 

 

原文地址:https://www.cnblogs.com/peak-c/p/5695796.html