Git 相关面试题总结

Git 相关面试题总结



一、描述什么是Git,有哪些作用

Git是一种分布式版本控制系统,可以记录文件的变更历史,方便开发者在不同时间对代码进行版本控制、回滚、分支管理等操作。
Git的主要作用有:
1.文件版本管理:可以记录文件的变更历史,方便开发者回滚到先前版本。
2.协同开发:多人可以协同工作,合并代码变更。
3.分支管理:支持在代码库中创建多个分支,方便各人独立开发不同的功能。
4. 数据安全:可以通过多个副本保存代码,防止数据丢失。

二、描述Git工作结构和本地库操作常见命令

Git的工作结构包括以下三个部分:

工作区(Working Directory):存储你正在修改的代码文件。
暂存区(Staging Area):用来保存将要提交的文件的列表。
本地仓库(Local Repository):存储所有的版本历史。

常见的本地仓库操作命令:
git init:初始化本地仓库。
git add :将文件从工作区添加到暂存区。
git commit -m “message”:将暂存区内的文件从暂存区提交到本地仓库。
git status:查看仓库的状态。
git reflog:查看仓库的版本历史。
git diff:比较工作区与暂存区或暂存区与本地仓库的差异。
git reset:撤销暂存区内的文件。
git checkout:切换分支或回滚文件到先前版本。

三、什么时候使用git status

git status命令用于显示工作目录和暂存区的状态。
可以在任何时候使用 git status 来检查当前 Git 仓库的状态。它可以告诉你哪些文件已更改但尚未提交到仓库,哪些文件已暂存并准备提交,以及哪些文件尚未跟踪。这对于确保你提交的内容是正确和最新的非常有用。

四、描述git diff作用、 git diff head作用

  • git diff比较的是工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。(默认是和暂存区文件进行比较)

  • git diff HEAD 命令显示工作区文件与和版本库文件的差别

五、git中如何查看日志,如何进行历史的记录追溯命令

git log 命令用于显示提交日志信息。
git reflog 用于显示需要回退的步骤HEAD@{ * }
git reset 命令用于将当前HEAD复位到指定状态。一般用于撤消之前的一些操作(如:git add,git commit等)。
git reset --hard [局部索引值]

六、描述公司内部Git的执行流程

在这里插入图片描述

七、什么情况下会发生代码冲突?

冲突是指团队协同工作时,当多位团队成员同时修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致文件无法提交的情况
产生原因:
当团队协同工作的时候,多位团队成员同时操作一个文件。团队成员A操作完成后,将该文件提交到远程库(github/gitlab/gitee)上。此时,其他团队成员的本地文件与远程库(github/gitee/gitlab)上的文件版本不一致。当团队成员B操作完成并对文件进行提交操作时,就会产生冲突

八、团队开发中,如何避免代码冲突?

解决建议:
1.修改文件之前,先进行一次update操作;
2.修改完成后,及时commit,不要在本地停留过长时间;
3.在多位团队成员协作时,分工要分明,尽量修改自己撰写的部分,不要修改不属于自己撰写的部分;
4.出现冲突很正常,可以通过前面介绍的方法解决,不要相互覆盖。

九、什么是分支,分支的优点?操作分支的常见命令

分支:在版本控制过程中,使用多条线同时推进多个任务。

分支的好处?
1.同时并行推进多个功能开发,提高开发效率;
2.各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响;
3.失败的分支删除重新开始即可。
操作分支的常见命令:
git branch命令用于列出,创建或删除分支。
git checkout命令用于切换分支或恢复工作树文件。
git merge命令用于将两个或两个以上的开发历史加入(合并)一起

十、描述向开源社区进行代码贡献流程?

通常情况下,向开源社区进行代码贡献的流程如下:

在开源项目的代码仓库中找到需要解决的问题或需要改进的地方。

Fork 该项目的代码仓库到自己的 Github 账户。

在本地 clone 下该项目的代码仓库。

在本地创建新的分支并进行修改。

提交修改并 push 到自己的 Github 代码仓库中。

在 Github 网站上创建一个 pull request,描述你的修改并请求与该项目的主分支合并。

等待项目维护者审核代码,并在必要时与你进行讨论和修改。

如果代码被合并,那么你的代码贡献就成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值