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 中如果要修改本地仓库中关联的远程仓库的地址,可以直接使用remove命令删除后再重新添加或者直接添加新的远程仓库地址,覆盖掉旧的远程仓库地址
git remote remove origin
//删除关联的远程仓库地址
git remote add origin 远程仓库地址
//添加新的远程仓库地址
git remote -v
//查看新的远程仓库地址是否关联成功
5、阐述为什么会出现文件版本冲突?如何解决冲突问题?
文件版本冲突:本质上就是多个开发人员同时提交了未及时更新的相同文件,导致版本库中出现了相同版本的不同文件,出现了冲突问题
image.png
解决冲突问题:
①、需要开发人员手工解决冲突,在本地打开所有冲突的文件,进行代码的合理合并(手工合并)
②、再次进行提价: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有什么联系和区别
git是分布式的,svn是集中式的
https://www.cnblogs.com/Sungeek/p/9152223.html
关于版本管理软件发展历程
①、文件备份
②、第一代版本管理软件:集中式、全量备份、版本迭代
以CVS软件为代表,这种管理方式已经过时,大部分项目中不再采用
优点:每次备份都是全量备份,基本不会出现文件丢失的问题
缺点:每次备份都是全量备份,导致服务器仓库需要大量的空间存储项目数据
③、 第二代版本管理软件:集中式、差异化备份、版本迭代
以SVN软件为代表,这种管理方式在现有的大部分项目中依然采用
优点:部署方便,命令简单,操作简洁
缺点:很久以前只能部署在局域网中(现在可以部署在广域网)、集中式(远程仓库一旦下线,版本管理方式就全部失效)、大量的版本管理问题
④、 第三代版本管理软件:分布式、差异化备份、版本迭代
以GIT软件为代表,这种管理方式在现有的大部分项目中组中主流的使用方式
优点:分布式(不依赖某个仓库、可以任意更新和提交)、基于网络(异地办公)
缺点:操作方式相对们门槛较高