1. 简述git第一次使用时,需要进行那些配置?
git全局配置,初始化开发人员信息
git config --global user.name “开发人员名称”
git config --global user.email “开发人员邮箱”
2. 简述git中如何将一个新增文件添加到本地仓库?
本质上就是将一个新的文件如何添加到本地仓库生成版本记录的过程
git add 文件名称
git commit 文件名称 -m “完善的注释”
git log [加分项]
3. 简述git中如何完成本地仓库和远程仓库的关联?
git提供了remote命令语法完成远程仓库的操作,关联本地仓库和远程仓库
git remote add origin 远程仓库地址
4. 简述如何修改本地仓库中关联的远程仓库url地址?
git中如果要修改本地仓库中关联远程仓库地址,可以直接覆盖也可以删除后重新添加
git remote remove origin // 删除关联的远程仓库地址
git remote add origin 远程仓库地址 // 添加新的关联地址
git remote -v // 查看新的地址是否关联成功
5. 阐述为什么会出现文件版本冲突?如何解决冲突问题?
什么是文件版本冲突,本质上就是多个开发人员同时提交了未及时更新的相同文件,导致版本库中出现了相同版本的不同文件出现了冲突问题
需要开发人员手工解决冲突,在本地打开所有冲突的文件,进行代码的合理合并(手工合并)
再次进行提交:git commit -a -m “提交新的文件”,如果再次出现文件冲突错误提示,可以直接标记解决进行强制提交,覆盖仓库中原有的版本
6. 阐述什么是免密登录?免密登录安全吗?免密登录的实现方式?
git中的免密登录,不需要账号和密码就可以访问远程仓库的一种行为
免密登录是通过SSH协议完成的用户身份认证方式
是一种安全的访问方式
免密登录在本地计算机中生成自己的基于OpenSSL的数字签名,得到公钥和私钥
公钥配置到远程仓库中用来生成SSH免密登录通道,私钥在自己的计算机中用于身份认证解析,完成了免密登录访问
7. 简述什么是多分支开发模式?如何创建、切换分支?如何删除不必要的分支?
多分支开发模式,是为了将开发中不同的功能模块进行拆分达到高效开发的目的,如master主分支主要用户发布软件、dev分支主要用于开发软件、feature分支主要用于新功能研发、hotfix分支主要用于bug修复等等
git branch <b_name>创建分支的语法
git checkout <b_name>切换分支的语法
git branch -d <b_name>删除分支的语法
8. 扩展题:git和svn有什么联系和区别?
1.git是分布式的,svn是集中式的
…
关于版本管理软件发展历程
① 文件备份
② 第一代版本管理软件:集中式、全量备份、版本迭代 以CVS软件为代表,这种管理方式已经过时,大部分项目中不再采用 优点:每次备份都是全量备份,基本不会出现文件丢失的问题 缺点:每次备份都是全量备份,导致服务器仓库需要大量的空间存储项目数据
③ 第二代版本管理软件:集中式、差异化备份、版本迭代 以SVN软件为代表,这种管理方式在现有的大部分项目中依然采用 优点:部署方便,命令简单,操作简洁 缺点:很久以前只能部署在局域网中(现在可以部署在广域网)、集中式(远程仓库一旦下线,版本管理方式就全部失效)、大量的版本管理问题
④ 第三代版本管理软件:分布式、差异化备份、版本迭代 以GIT软件为代表,这种管理方式在现有的大部分项目中组中主流的使用方式 优点:分布式(不依赖某个仓库、可以任意更新和提交)、基于网络(异地办公) 缺点:操作方式相对们门槛较高