再学git
1.git的两大特点:
1)版本控制:可以解决多人同时开发的问题,也可以解决找回历史代码的问题。
2)分布式:Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上。
2.创建一个版本库
git init
1)创建一个版本
git add code.txt (工作区提交到暂存区) git commit -m '版本说明' (暂存区提交当前分支)
git status (查看当前状态,如果暂存区没有东西就给出“nothing to commit, working tree clean”)
查看提交记录
git log
2)回退到某一个版本
git reset --hard HEAD~1 (回退到前一个版本)
git reset --hard "版本号" (回退到版本号对应的版本)
3.工作区
电脑中的目录,比如我们的git_test,就是一个工作区
4.版本库
1)管理修改:git管理的文件的修改,它只会提交暂存区的修改来创建版本。
2)撤销修改:
git reset --hard "版本号" (撤销暂存区的提交)
git checkout -- 文件名 (撤销工作区的修改)
3)对比两个文件的不同
git diff HEAD -- code.txt (对比工作区和暂存区里面code.txt的不同)
5.分支管理
1)一开始的时候,master分支是一条线,git是master指向最新的提交,再用HEAD指向master,就确定当前分支,以及当前分支的提交点;
每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长。
2)当我们创建新的分支,例如dev时,git新建了一个指针dev,指向master相同的提交,再把HEAD指向dev,就表示dangqian分支在dev上;
3)不过,从现在开始,对工作区的修改和提交就是针对dev分支了,比如新提交一次后,dev指针往前一步,而master指针不变;
4)假如我们在dev上的工作完成了,就可以把dev合并到master上,git怎么合并?最简单的办法就是直接把master指向dev的当前提交,做完就合并了;
5)合并完成后,甚至可以删除dev分支,删除dev分支就是把dev指针给删掉,删掉后,我们就剩下了一条master分支了。
新建并切换分支
等价于
删除分支
查看记录,过滤分支号
合并分支(需要切换回master)
当多个分支同时修改一个文件后同时提交,会报“提交冲突”的错误,需要手工修改后再次提交
合并分支并且禁用快速合并模式