git 版本控制管理工具学习记录
1、 版本回退
- HEAD 指向的版本是当前版本,git允许我们在各历史版本中来回切换,使用命令:git reset --hard commit_id
- 命令git log 查看提交日志
- 命令git reflog查看命令历史日志,这样可以查看你所有的命令操作日志
2、 工作区与暂存区
- git中有工作区(working place)与暂存区的概念,在工作区中完成工作后,
使用命令git add 把在工作区完成的文件提交到“暂存区”,然后使用命令git commit 把暂存区的所有
内容提交到当前分支。注意:git commit 只负责把暂存区的修改提交,所有修改过的内容一定要经过git add提交到攒出区,
然后再经过git commit 才能被提交。
- 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 master
4、 分支管理
- git branch 查看分支
- git branch branch_name 创建分支
- 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分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。
5、标签管理
- 先切换到需要打标签的分支
- git tag tag_name 创建一个标签 git tag -a tag_name -m "blablabla..." 可以指定标签信息
- git tag 查看所有标签
学习教程:廖雪峰老师的git教程