创建一个仓库
git init
把文件添加到仓库
git add readme.txt
把文件提交到仓库
git commit -m "wrote a readme file"
查看仓库状态
git status
查看某个文件的修改记录
git diff readme.txt
查看仓库的历史提交记录
git log
git log --pretty=oneline
git log --graph --pretty=oneline --abbrev-commit
版本回退
git reset --hard HEAD^ 回退到上一个版本
git reset --hard HEAD^^ 回退到上上个版本
git reset --hard HEAD~100 回退往上100个版本
git reset --hard HEAD 1094a 回退到提交序列号以1094a开头的版本
查看历史输入过的命令
git reflog
丢弃工作区的修改
git checkout -- readme.txt
撤销暂存区的修改
git reset HEAD readme.txt + git checkout -- readme.txt
从版本库中删除文件
git rm test.txt + git commit -m "remove test.txt"
误删恢复
git checkout -- test.txt
创建密钥
ssh-keygen -t rsa -C "yourmail@example.com"
将本地仓库与远程仓库关联
git remote add origin git@github.com:michaelliao/learngit.git
首次将本地库的所有内容推送原远程库上:
git push -u origin master
普通将代码推送到远程仓库
git push origin master
从远程仓库克隆到本地
git clone git@github.com:michaelliao/gitskills.git
创建并切换到新分支
git checkout -b dev
创建分支
git branch dev
查看当前分支
git branch
合并指定分支到当前分支
git merge [branch name]
删除分支
git branch -d dev
禁用Fast forward
git merge --no-ff -m "merge with no-ff" dev
存储当前工作区
git stash
查看存储列表
git stash list
将存储的内容恢复
git stash apply (未删除存储记录)
git stash pop
恢复到指定的stash
git stash apply stash@{0}
强行删除分支
git branch -D feature-vulcan
查看远程库的信息
git remote
git remote -v
创建远程库的分支到本地
git checkout -b dev origin/dev
从远程仓库中抓取最新的修改
git pull
指定本地分支与远程分支的链接
git branch --set-upstream-to=origin/dev dev
将远程库的提交历史记录整合成一条直线
git rebase
打一个新的标签
git tag v1.0
查看所有的标签
git tag
将某次的提交打上标签
git tag v0.9 f52c633
查看标签信息
git show v0.9
创建带有说明的标签
git tag -a v0.1 -m "version 0.1 released" 1094adb
删除标签
git tag -d v0.1
将某个标签推送到远程
git push origin v1.0
一次性推送全部尚未推送到远程的本地标签
git push origin --tags
删除远程库里的标签
先在本地删除 git tag -d v0.9
再从远程删除 git push origin :refs/tags/v0.9