一,什么是版本控制?
版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。
在进行项目开发过程中,你是否会有下面的经历?
当客户需求改变时,需要重新对项目进行修改。又怕将来客户撤销这个需求怎么办?只能把原来没修改的和已经修改的项目都保存下来。随着客户需求的变更,你需要备份多个项目。最后你的项目就变成了上面的那样。看着一堆乱七八糟的项目,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。
如果有一个版本控制工具,来帮助我们记录每一次项目的变更,像下面这样,岂不是很方便?
这就有必要来学习一下Git版本控制工具,它就像上面那样,很好地帮助我们解决了手动管理多个项目“版本”问题。
二,Git版本控制工具的简单使用
1.什么是Git?
1.1 Git是一个免费的开源 分布式版本控制系统,旨在快速,高效地处理从小型到大型项目的所有事务。
1.2 2008年Github上线,为开源项目免费提供Git存储。
2.Git下载安装
下载网址:https://git-scm.com/downloads
根据自己电脑的系统选择对应的版本,我选择的是windows版本。
根据操作系统选择Git的版本,我选择的是64位的Git版本,点击下载。
找到下载Git应用程序,双击进行安装。
在cmd窗口中,使用git --version命令查看Git是否安装成功
3.下载安装 TortoiseGit
使用TortoiseGit,Git客户端图形化工具目的:为了代替在cmd窗口中,使用Git命令对Git服务端进行的一些操作。
32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/
注意: 下载的版本与自己电脑操作系统类型一致。
安装,一直点击下一步即可。
鼠标右键,看到这样的界面,说明安装成功。
汉化配置
在桌面鼠标右键---->TortoiseGit—>settings
配置完成,在桌面鼠标右键
可以看到,已经汉化成功(楼主比较喜欢英文,下面演示还采用没有汉化的)
4.建立模拟的中央仓库
中央仓库一般放在单独的服务器上,由于没有单独的服务器,就模拟在本机上创建一个中央仓库。
在D:\Temp\repository(任何一个目录都可以)目录下,鼠标右键—>Git Createrepository here…
此时,会出现下面的弹框
不进行勾选,点击ok,生成**隐藏类型**的.git文件夹
5.建立模拟用户目录,git clone 克隆中央仓库
在D:\Temp目录下,新建user1和user2两个用户
在user1目录下克隆中央仓库
选择中央仓库的位置,点击ok,就把中央仓库克隆到了user1目录下
6.创建一个文件,commit到本地仓库,推送到push中央仓库
在D:\Temp\user1\repository目录下新建一个demo.txt测试文件
选中文件,右键—>tortoiseGit—>add,把文件添加到版本控制
commit 提交文件修改到本地仓库
错误:第一次提交前,需要设置用户名和邮箱(为了锁定哪个用户对文件作出了修改,并推送到了中央仓库)
再一次进行commit,提交到本地仓库
提交完成后,可以直接点击push,推送到中央仓库
也可以close关闭,先不push,然后鼠标右键—>TortoiseGit—>push,也可以推送到中央仓库
master 是仓库主线代号, origin 是远程仓库代号
在第一次push时,会报一个错误: 需要远程仓库设置参数
解决方法:需要在原始仓库(中央) 执行 git config receive.denyCurrentBranch ignore
在cmd窗口下,进行中央仓库的目录,执行上面的命令
在D:\Temp\user1\repository下,再次进行push,即可把修改内容成功推送到中央仓库。
在 user2 目录里面 执行 git clone ! 查看到 user1 修改 !
7.解决冲突
user1修改文件
同时,在user1没有把修改的内容push到中央仓库的时候,user2也对文件作出了修改
user1把修改后的内容push到中央仓库,
注意:push修改的内容到中央仓库时,应该先pull,再push,可以防止在push之前,中央仓库中的内容发生了变化
user2采取同样的方式,先pull,后push修改内容到中央仓库。问题产生了,错误描述:必须先把修改的内容commit 到本地仓库,才能 pull。
冲突产生:
解决方法一:直接在文件中,把认为正确的部分保存下来,删除其余部分保存—>右键—> Resolved
解决方法二:选中文件—>右键—>edit conficts,解决后点击编辑页面的 mark as resolved
在解决完冲突以后,就可以提交修改内容到本地仓库,push推送到中央仓库。在user1 目录里面 执行 pull! 查看到 user2 修改的内容 !
三,将代码放到在线仓库进行版本控制
1、 用户注册
2、 用户登录 ,创建一个新的项目 ,添加开发者
创建完成后,点击"克隆/下载"按钮,可以复制在线仓库的访问地址
将其它开发者加入到项目中
点击"贡献者"—>点击"管理"—>点击"项目成员管理"—>点击“所有”—>点击"添加项目成员"
3.将本地代码 通过在线仓库 进行版本控制
3.1 复制在线仓库的访问地址,在本地电脑克隆在线仓库
注意:因为在码云上创建的这个项目是私有的,所以第一次在本地进行克隆时,需要输入码云帐号和密码进行验证!
3.2 复制一个项目到本地仓库,并push到码云在线仓库上
执行commit命令把修改内容提交到本地仓库,push命令推送到在线仓库进行版本控制!