本篇文章总结了Git的一些常用的操作指令。具体的git的学习可以去廖雪峰的官方网站,里面有详细的git教学。
1.安装
录入自己的信息
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2.创建版本库
//创建一个新目录
$ mkdir gitwarehouse
$ cd gitwarehouse/
$ pwd
/e/Git/gitwarehouse
//把该目录变为git可以管理的仓库
$ git init
Initialized empty Git repository in E:/Git/gitwarehouse/.git/
3.添加文件到仓库
$ git add readme.txt
4.提交文件到仓库
-m:-m后面跟的是本次提交的说明
$ git commit -m "第一次提交"
5.查看当前仓库状态
$ git status
6.查看修改内容
$ git diff readme.txt
7.查看历史记录
$ git log
8.回退版本
//回退到上一个版本
$ git reset --hard HEAD^
//回退到指定版本,hard后面跟版本号
$ git reset --hard 1b2c934
9.查看每一次的命令
$ git reflog
10.丢弃工作区的修改
git checkout -- file
11.撤销暂存区的修改
$ git reset HEAD readme.txt
12.删除文件
$ git rm text.txt
$ git commit -m "删除文件"
13.关联远程库
$ git remote add origin git@github.com:zongqingyun/first-git.git
14.把本地库推送到远程库上
//第一次推送加上-u,把本地的master分支跟远程的master分支关联起来
$ git push -u origin master
//以后推送
$ git push origin master
15.从远程库克隆
$ git clone git@github.com:zongqingyun/gitskills.git
16.创建分支
//创建并指向
$ git checkout -b dev或者$ git switch -c dev
//创建分支
$ git branch dev
//指向分支
$ git checkout dev或者$ git switch dev
17.查看当前分支
$ git branch
18.合并分支
$ git merge dev
19.删除分支
$ git branch -d dev
20.查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit
21.强制禁用快速合并模式
$ git merge -no-ff -m "merge with no-ff" dev
22.储藏工作现场
$ git stash
23.查看储藏的工作现场
$ git stash list
24.恢复工作现场
$ git stash pop
25.在master分支上修复的bug合并到dev分支
git cherry-pick <commit>
26.强制删除分支
$ git branch -D feature-vulcan
27.查看远程库信息
$ git remote
或者
$ git remote -v
28.推送分支
$ git push origin master(分支名)
29.创建跟远程库对应的分支
$ git checkout -b branch-name origin/branch-name
30.建立本地分支和远程分支的关联
$ git branch --set-upstream branch-name origin/branch-name
31.抓取分支
$ git pull
32.把本地未push的分叉体教历史整理成直线
$ git rebase
33.创建标签
$ git tag v1.0
//带说明的标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb
34.查看标签
$ git tag
//查看标签信息
$ git show <tagname>
35.对commit id打标签
$ git tag v0.9 f52c633
36.删除标签
$ git tag -d v0.9
//删除远程
$ git push origin :refs/tags/v0.9
37.推送某个/全部标签到远程
$ git push origin v1.0
$ git push origin --tags