一、 版本回退
- HEAD 指向的版本是当前版本,git容许咱们在各历史版本中来回切换,使用命令:git reset --hard commit_id
- 命令git log 查看提交日志git
- 命令git reflog查看命令历史日志,这样能够查看你全部的命令操做日志github
二、 工做区与暂存区
- git中有工做区(working place)与暂存区的概念,在工做区中完成工做后,
使用命令git add 把在工做区完成的文件提交到“暂存区”,而后使用命令git commit 把暂存区的全部
内容提交到当前分支。注意:git commit 只负责把暂存区的修改提交,全部修改过的内容必定要通过git add提交到攒出区,
而后再通过git commit 才能被提交。ssh
- git status 能够查看工做区和暂存区内容的状态
- git checkout -- file 把file文件在工做区的修改所有撤销,就是让这个文件回到最后一次git commit 或者 git add时的状态
- git rm 用于删除文件,若是文件已经被提交到文件库,那么你永远也不用担忧误删学习
3 、远程仓库
- 建立ssh key 使用命令ssh-keygen -t rsa -C "youremail@example.com" ,这时会在目录下面生成.ssh目录,,里面
有id_rsa和id_rsa.pub两个文件,id_rsa是私钥,id_rsa.pub是公钥
- 登陆github,打开SSH and GPG keys,点击new SSH key ,填上title,在key文本框中粘贴id_rsa.pub文件的内容。
- 添加远程库,在github建立库后,这个库仍是空的,要在本地库下运行命令: git remote add origin git@github.com:whd88188/learngit.git(learngit是库名)
下一步就能够把本地库的内容推送到远程库了,使用命令:git push -u origin master(第一次推送),以后的话用 git push origin masterspa
四、 分支管理日志
- git branch 查看分支code
- git branch branch_name 建立分支blog
- git checkout branch_name 切换分支教程
- git checkout -b branch_name 建立并切换分支开发
- git merge branch_name 合并某分支到当前分支
- git branch -d branch_name 删除分支
- git log --graph 能够看到分支合并图,git没法合并分支时,要先解决,而后提交载合并,用,如图:
- 多人合做:
master分支是主分支,所以要时刻与远程同步;
dev分支是开发分支,团队全部成员都须要在上面工做,因此也须要与远程同步;
bug分支只用于在本地修复bug,就不必推到远程了,除非老板要看看你每周到底修复了几个bug;
feature分支是否推到远程,取决于你是否和你的小伙伴合做在上面开发。
五、标签管理
- 先切换到须要打标签的分支
- git tag tag_name 建立一个标签 git tag -a tag_name -m "blablabla..." 能够指定标签信息
- git tag 查看全部标签
学习教程:廖雪峰老师的git教程