git 基础命令
- 查看ssh key 是否存在
$ ls -al ~/.ssh
- 存在ssh key,打印
$ cat ~/.ssh/id_rsa.pub
- 不存在ssh key,则创建
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- 创建版本库
git init
- 查看文件的修改
git diff <filename>
git diff HEAD -- <filename> #查看工作区和版本库里面最新版本的区别
- 查看提交历史
git log #查看提交历史记录
git log --pretty=oneline #查看提交的commitid 备注
git log --graph --pretty=oneline --abbrev-commit #查看分支的合并情况
git log --graph #分支合并图
- 版本回退
git reset --hard HEAD^ #回退1个版本
git reset --hard HEAD^^^ #回退3个版本
git reset --hard HEAD~100 #回退100个版本
注意:如果你想回到回退前的那个版本怎么办,如果你有commitid,只需写前几位就可以啦
git reset --hard <commitid>
git reflog #查看命令历史,可以找到commitid
- 撤消本地文件的修改
git checkout -- <filename>
- 删除文件
git rm <filename>
git commit -m '删除文件'
- 远程仓库 github
#创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,没有则创建
ssh-keygen -t rsa -C "youremail@example.com"
#要关联一个远程库,使用命令:
git remote add origin git@server-name:path/repo-name.git
#关联后,使用命令第一次推送master分支的所有内容:
git push -u origin master
- 从远程库克隆
git clone ssh://....
- 查看远程库信息
git remote -v
- 在本地创建和远程分支对应的分支
git checkout -b branch-name origin/branch-name
- 创建本地分支和远程分支的链接关系
git branch --set-upstream branch-name origin/branch-name
- 创建与合并、删除分支
方法一: git checkout -b dev #创建并切换到dev分支
方法二: git branch dev #创建分支
git checkout dev #切换分支
git branch #查看当前分支
git merge dev #合并dev分支到当前分支
git branch -d dev #删除dev分支
****** git merge --no-ff -m "merge with no-ff" dev ******
解释:
--no-ff 用普通模式合并,合并后的历史有分支,能看出来曾经做过合并
-m 备注
- 标签(tag)管理
git tag <name> #创建标签
git tag <tagname> commitid #根据历史提交的commit id创建标签
git tag -a <tagname> -m "blablabla..." #指定标签信息 -a指定标签名,-m指定说明文字
git tag #查看所有标签
git show <tagname> #查看标签信息
git push origin <tagname> #推送一个本地标签
git push origin --tags #推送全部未推送过的本地标签
git tag -d <tagname> #删除标签 git tag -d v1.0
git push origin :refs/tags/v1.0 #删除远程标签