版本控制
HEAD 表示当前版本 HEAD^表示之前一个版本 HEAD~66表示之前66个版本
git log 查看版本历史
回退版本
git reset --hard HEAD^ | [commit id]
revert / unstage
区域
工作区 Working Directory
版本库所在电脑的工作目录
撤销工作区修改,未添加到暂存区(用版本库中的文件来还原工作区)
git checkout -- <file>
"undo"
working directory
回到git commit之前的状态
分支 branch
git commit将暂存区的文件合并到分支
版本库 repository
暂存区 stage
存放git add的文件
追踪修改,只有add到git版本库中才能提交
撤销暂存区的修改
git reset HEAD <file>
删除缓存区文件,即使用git add命令添加到暂存区的文件
git rm --cached <file>
分支管理
分支就是一条记录版本库每一次提交的时间线,其中主分支称为master,由HEAD指针跟踪指向
创建分支
git branch <branch>
切换分支
git checkout <branch>
创建并切换分支
git checkout -b <branch>
合并到主分支
git merge <branch>
删除合并后的分支
git branch -d <branch>
远程仓库
关联github
git remote add origin git@github.com:<username>/<repository>.git
需要添加ssh公钥到github上
推送本地仓库内容
git push -u origin <branch>
第一次使用 -u参数推送及合并,约定远程名为origin。 之后的推送就不需要使用-u参数了
克隆仓库
git clone <protocal>
本地获取远程仓库分支
git checkout -b <local branch> origin/<branch>
本地分支与远程分支建立链接
git branch --set-upstream <local branch> origin/<branch>
配置
个人信息
git config --global user.email <"email">
git config --global user.name <"username">
服务器搭建
标签工具
创建标签
git tag -a <tagname> [-m ""] [commit id]
默认为当前分支最新的commit,也可以使用commit id
标签信息
git show <tag>
删除标签
本地
git tag -d <tag>
远程
git push origin :refs/tags/<tag>
推送标签
git push origin <tag>