Git学习笔记
近来在学git。
话说用github两年了难道还不会git么?当然是会一点的,也就是init,diff,status,add,commit,push,clone几个命令,连版本回退都不会,更不用提分支处理什么的了。。。所以现在跟着廖雪峰的Git教程系统地学习一下.
1.创建版本库
|
|
2.添加文件到仓库
|
|
3.提交修改
|
|
4.查看当前状态(有哪些文件增删修改过)
|
|
5.查看具体修改的内容
|
|
6.查看提交历史
|
|
7.版本回退/恢复
|
|
此命令会将当前内容回退到上次提交的内容。而若想直接回退/恢复到某一个版本:
|
|
其中d63288是想回退/恢复到的提交的版本号的前几位,版本号没必要写全,只写前几位即可。
8.查看命令历史
|
|
如果不知道想回到的提交的版本号,可通过上面的命令查询git命令历史,找到想要的版本号。
9.撤销工作区的修改
|
|
可以让file在工作区发生的修改全部撤销,用用暂存区或版本库中的替换之。(即回退到上一次git add或git commit时的状态)
10.撤销暂存区的修改
|
|
如果修改已经被提交到暂存区,可使用上述命令将已提交到暂存区的修改删除,让暂存区的此文件与已经commit的版本库中的文件版本保持一致。
11.文件删除
|
|
如果某个已经在暂存区或版本库的(一定经过了git add)文件被删除,那么无法通过git add将文件删除的修改提交到暂存区。只能通过git rm该文件将文件从版本库移除。然后再commit即可。
12.克隆远程版本库
|
|
类似于SVN的版本库导出到本地。
13.关联远程库
|
|
第一条命令可将本地git仓库关联到远程库上。第二条是将本地所有内容提交上去。与SVN类似,如果远程仓库不是空的,那么需要先pull和merge才行,第二条命令会失败。
这里由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
14.创建/切换分支
|
|
此命令等同于以下两条命令:
|
|
15.查看分支
|
|
16.合并分支
|
|
17.删除分支
|
|
18.储存工作现场
|
|
19.Bug分支场景
场景说明:当前正在dev分支上做开发,开发工作尚未完成不能提交。此时接到一个id为101的bug,需要在master分支上立即修复。
对应操作:
|
|
20.强行删除分支
|
|
如果一个分支的里有一些commit的内容没有合并到其他分支,直接删除会提示错误。需要用大D参数强行删除。
21.查看远程库信息
|
|
22.推送分支
|
|
23.抓取分支
|
|
别人从git上clone,默认只能看到master分支。想要看到dev分支,需要执行上述命令。
24.指定本地分支与远程分支的链接
|
|
25.多人协作工作场景
|
|
26.创建标签
|
|
查看tag列表:
|
|
查看tag具体信息:
|
|
27.操作标签
|
|
28.删除错误的commit
回退到之前的某一个版本,然后强推到服务器。注意服务器如果有分支保护需要先关闭。
EOF