熟悉使用git
时间:2021.01.14—2021.01.20
一、熟悉gitlab 的简单操作
1.下载git,官网下载很慢,https://npm.taobao.org/mirrors/git-for-windows/这里下载,选择最新版本。
2.安装git
3.Pycharm配置git
Setting –》Version Control –》Git
Path选择安装的git目录bin下的exe文件,点击text测试,测试成功后,点Apple 然后点击ok,配置成功。
4.连接gitlab仓库
VCS –》 Get From version Conctrol
URL输入geilab仓库地址,Directory选择一个空目录。选择之后点击clone,然后弹出输入账号密码。
5.修改文件,点击提交
输入提交信息
提交成功后在仓库地址查看提价记录
Q1 分支的作用?
先说分支的作用:分支不是GIT的专利,早在CVS时代就有了。分支对于团队来说作用太大了。比如说一个项目现在是1.0版,那么开发团队可能要同时进行1.1版和2.0版的开发,这样代码就会出现较大分歧。这时候就需要用到分支了,不同的任务组在不同的分支上开发,互相之间不会影响。再比如说,需要向项目中添加一个新功能,一般的团队都不会直接在主分支上修改,都会新建一个分支,在上面更改代码。这样做的好处就是保证主线代码的完整性和可用性,也就是说,主线上都是稳定的代码,可以直接拿来发布的。再说说分支在GIT上的特点:GIT的技术可以说是非常强大,说一切开发都依赖于分支一点都不过分。一般项目的master分支都是稳定的代码,可以直接发布或者被项目之外的人使用。新特性和BUG修改都在不同的分支上进行开发和测试。这样规范了整个软件的开发流程。分支之间的互不影响这种特性可以增加团队合作的效率。GIT分支的另外一个重要特性就是可以合并不同软件仓库(fork)的分支。大体就是:开发团队有一个主软件仓库,开发者可以fork这个仓库,相当于克隆了一个私有的软件仓库,然后开发者就可以在自己的软件仓库中建立分支并开发测试,测试完毕之后,可以向主软件仓库提交merge request,这样新开发的特性就会被合并到主软件仓库的某个分支中。这种特性极大地推动了开源项目,多年前参加开源项目都是神话,自从GIT出现后,每个人都可能成为开源项目的贡献者,就是基于这种特性(请参照Github的pull request,和merge request是同一个东西)。
Q2 Commit 和push的区别?
Commit是将代码保存到本地的缓存区还没有提交给gitlab仓库,push才是将文件推送到仓库,可以选择提交并推送。
Pycharm反复拉取gitlab代码还有没有,显示All files are up-to-date,但没有更新代码。
问题:代码管理概念,gitlab 工作原理pull、commit、push原理。
二、代码管理工具学习
1. 集中式版本控制系统和分布式版本控制系统的区别
集中式控制系统都有一个单独的服务器控制管理,保存所有文件的修订版本,协同工作的人通过客户端连接这个服务器,取出最新的文件或提交更新,优点是每个人都可以看到项目中的其他人正在做什么,而管理员可以轻松的管理每个开发者的权限,缺点是假如中心服务器发生故障,在这段时间谁都没法提取文件或更新,也就无法协同完成工作,甚至如果中心数据库磁盘损坏而且没有备份,那么将丢失所有项目数据,而每个人的电脑只有单独的一部分文件,也就丢失了项目的所有历史更新记录;分布式版本控制系统不仅提取最新版本的文件,而是将整个项目镜像下来,这样任何一个协同工作用的服务器发生故障,都可以使用任何一个镜像出来的本地仓库进行恢复,每一次克隆操作都是对代码仓库的完整备份。
2.git 的三种状态
三种状态是git下文件可能处于已提交(committed)、已修改(modified))和已暂存(staged)三种状态。
已提交是指数据已经安全保存到本地数据库中;
已修改是指修改了文件,但还没有保存到数据库;
已暂存是指对一个已修改的文件的当