《个人版GIT使用教程》
1介绍
1.1git有本地仓库
1.1.1SVN介绍,git的背景
SVN是集中式管理,历史版本全部在SVN控制台
1公司:SVN控制台安装在远程服务器,那么本地电脑是没有历史版本的,有的只是版本中的一个,如果要进行版本更换,是从控制台中提取版本到本地电脑。隐患:如果远程服务故障,那么将失去所有历史版本
2个人:SVN控制台安装在自己电脑,那么所有版本将只存在于自己电脑,电脑损坏将失去一切代码
1.1.2GIT介绍,引入git
GIT是分布式系统:所有电脑都有全部的历史版本,向一个远程服务器推送,解决了SVN的代码安全隐患问题
1.2git支持多人协作
Git可以进行多分支协同开发,云端可以同时存在主线和分支,主线可以将分支进行合并,在项目中,多人并行推进,合并并修改他人代码十分方便
2准备
2.1安装
使用乌龟git来作为git的图形界面
2.2关键词解释
Master:项目主线
Origin:远端,即远程服务器的版本
克隆:将云端版本库复制到本地
提交:将工作文件提交到本地版本库
拉取:得到服务器端master或分支的最新版本程序并将最新 版本与本地版本自动进行合并,合并过程中要处理冲突
获取:将服务器端的master拉到本地版本,不与本地的代码自动合并
推送:将本地版本库推送到云端服务器
检出:在主线和分支间切换
变基:复制分支的分支上的变更
2.3远端库/本地库/工作区
上图显示了个人使用git时,如何在工作区,本地版本库,远端版本库之间的操作联系
3实践
3.1创建
3.2克隆
3.3推送
3.4分支
3.5回退
代码无法继续推进需要回退到上一个版本
因为是个人使用,全部的代码都是个人的代码,不包含团队中其他人的代码,所以完全舍弃上个版本的的代码是没有关系的,如果包含团队中别人的代码,那就要小心了,不可以盲目硬重置
3.6回退编写后再次提交
退回后的版本不能推送到云端来强制覆盖云端的版本,个人使用git时,回退后可以强制推送,将云端的版本覆盖,强制推送会导致某些版本丢失
团队开发时不允许这样做,多人开发,请拉取云端代码,将云端代码和自己代码合并后在推送云端
3.7克隆分支
3.8跨终端同步
3.8.1先获取云端代码
云端版本强制覆盖本地版本:这台电脑将代码上传到云端,另一台电脑从云端加载代码将其代码强制覆盖本地代码
3.8.2云端代码覆盖本地代码
4其他
4.1为什么我的文件不受版本控制
然后在主线上创建分支
在分支上新建一个文件
然后在回到主线
可以看到主线上也有刚新建的文件
为什么我的文件不受版本控制:
因为版本控制不是控制文件夹下所有文件,只能控制文件夹下面绿色打钩的文件
诺分支上添加了新文件,需要将新文件提交给分支使之接收分支控制