¶安装git
设置名字和邮箱
1 | git config --global user.name "Your Name" |
创建目录
mkdir name
显示目录
pwd
创建git
git init
创建SSH Key
ssh-keygen -t rsa -C "youremail@example.com"
可以在用户主目录里找到.ssh
目录,里面有id_rsa
和id_rsa.pub
两个文件,id_rsa
是私钥,id_rsa.pub
是公钥。
¶使用git
添加、提交文件
git add file
git commit -m "message"
工作区状态
git status
查看修改
git diff file
¶控制版本
HEAD为当前版本,HEAD为上一个版本,HEAD为上上一个版本,HEAD100为往上100个版本
切换版本
git reset --hard commit_id/HEAD^number
查看提交历史/命令历史
1 | git log |
--pretty=oneline
(加上该参数会更简洁)
简洁图表
1 | git log --graph --pretty=oneline --abbrev-commit |
分叉提交历史整理成直线
git rebase
撤销工作区的修改
git checkout -- file
删除文件/版本库中删除文件
rm file
1 | git rm file |
¶远程仓库
关联
1 | git remote add origin address |
address是github ssh地址,origin是远程仓库地址
国内有类似github的平台:gitee,优点是下载速度比较快
推送
git push (-u) origin master/branch
第一次push要加-u 远程和本地的master关联起来
克隆
git clone address
查看远程信息
git remote (-v)
创建远程库其他分支
1 | git checkout -b branch origin/branch |
从远程抓取分支
git pull
¶分支的使用
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
强行删除分支:git branch -D <name>
分支合并图:git log --graph
强制禁用Fast forward
模式,在合并时添加信息
1 | git merge --no-ff -m "message" branch |
¶储存工作区
隐藏:git stash
查看:git stash list
恢复:git stash apply
删除:git stash drop
恢复并删除:git stash pop
恢复指定:git stash apply stash@{number}