1、git:为分布式版本控制工具
当新创建一个文件后,文件通过指令可以到达暂存区,暂存区是仓库和工作区的缓冲区域
当commit后,会把文件放入本地仓库,每一次commit都会创建一个版本
《=================================小区域================================》
git status 《查看当前目录下的所有的文件的git状态》
git add . 《“.”是通配符,将当前目录下的所有文件添加到暂存区》
git commit -m "名称" 《将暂存区的文件提交到仓库》
《=================================小区域================================》
当对某个文件更改后,文件又会被放进工作区,然后再次使用 git.add. 文件状态再次变为即将被提交的修改
版本回退
git提供版本回退的功能
《=================================小区域================================》
git reset --hard commitID 《将版本回滚到ID为commitID的那次》
git log 《打印仓库里存在的所有版本》
git reflog 《打印已经删除的记录 查找删除掉的commitID》
《=================================小区域================================》
问题:git add .是将目录中的所有文件添加的暂存区,如果目录中存在两个文件,想要让其中的一个施行git版本管理,另一个不施行,有什么好的方案吗?
可以创建一个ignore文件 把不需要add的文件放在这个目录里面
《=================================小区域================================》
git branch 《打印仓库的所有分支》
git branch 分支名字 《创建名字为分支名字的分支》
git-log 《直观展示分支之间提交的内容》
git checkout dev01 《将当前分支切换到dev01的分支》
git checkout -b 分支名 《即使这个分支不存在也可以创建并切换到这个分支》
《=================================小区域================================》
git-log指令后显示的命令行中的 HEAD指向谁,谁就是当前的分支,
切换分支里的文件也会随之切换
merge 合并操作
当git上的两个分指上出现了版本差异(比如1分支有a文件,2分支有b文件)
这个两个文件=可以代表两个不一样的开发功能 这个时候就需要合并操作
一般来说,都是把其他分支合并到master上,需要如下几步操作。
《=================================小区域================================》
git checkout master 《切换当前分支为master分支》
git merge 要合并的分支名字 《将当前分支合并到master上》
《=================================小区域================================》
这个时候就将两个分支合并合到了master分支上
《=================================小区域================================》
git branch -d b1 《删除分支,删除时需要做各种检查》
git branch -D -b1 《不做任何检查,强制删除》
《=================================小区域================================》
解决冲突
两个人同时更改了一个文件,会造成合并时候产生冲突 (同一个文件的同一行)
分支在开发中如何使用