github面试题

github面试题
本地仓库:建立在本地的文件夹
远程的仓库:建立在互联网的服务器内的文件夹
分布式版本控制系统
1.配有陈述的两个仓库,电脑上有一个本地仓库,在远程的服务器有一个远程仓库
2.我们提交文件的时候会先提交到本地仓库,然后在有网的情况下,再从本地仓库提交到网络上的远程仓库。
3.GIT就是一个典型的分布式版本控制系统

Q. Git和GitHub有什么区别

  • Git
    • Git是一个分布式的版本控制系统,用于在软件开发过程中跟踪源代码的更改。它有助于协调程序员之间的工作,但可用于跟踪任何文件集中的更改。Git的主要目标是速度,数据完整性以及对分布式非线性工作流的支持。
  • GitHub
    • GitHub是Git存储库托管服务,此外它还添加了许多自己的功能。GitHub提供了基于Web的图形界面。它还为每个项目提供访问控制和一些协作功能,基本任务管理工具。

Q. 什么是Git

  • Git 是分布式版本控制系统(DVCS)。它可以跟踪文件的更改,并允许你恢复到任何特定版本的更改。
  • 每个开发人员都可以“克隆”储存库的副本,并且在他的硬盘驱动器上具有项目的完整历史记录,因此当服务器中断时候,你需要的所有恢复数据都在你队友的本地Git存储库中。
  • 还有一个中央云存储库,开发人员可以向其提交更改,并与其他团队成员进行共享,如图所示,所有协作者都在提交更改“远程存储库”。

Q. Git是用什么语言编写的?

  • Git使用 C 语言。Git速度很快,而 C 语言通过减少与高级语言相关的运行时间的开销使之成为可能。

Q. Git中的一些基本命令并解释其用法

命令 用法
$ git clone 克隆远程仓库
$ git init 初始化本地版本库
$ git add . 跟踪所有改动过的文件
$ git status 查看状态
$ git commit -m “commit message” 提交所有更新过的文件
$ git branch 查看分支
$ git branch 创建分支
$ git checkout 切换分支
$ git merge 合并分支

Q. 在Git中提交的命令是什么?

  • 写入提交命令是git commit
  • 如果是第一次需要提交新文件,可以在git commit -a 之前先git add

Q. 提交对象包含什么?

commit对象包含以下组件

  1. 一组文件,表示给定时间点的项目状态

  2. 引用父提交对象

  3. SHAI名称,一个40个字符的字符串,提交对象的唯一标识

Q. Git config 的功能是什么?

  • Git使用你的用户名将提交与身份相关联。Git config命令可用来更改你的Git配置,包括你的用户名。
  • 假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。
    • git config –global user.name “Your Name”: 此命令将添加用户名。
    • git config –global user.email “Your E-mail Address”: 此命令将添加电子邮件ID。

Q. Git中的存储库是什么?

  • Git中的存储库是Git存储所有文件的地方。Git可以将文件存储在本地存储库或远程存储库上。

Q. 如何在Git中创建存储库

  • 要创建存储库,先为项目创建一个目录(如果该目录不存在),然后运行命令 git init。通过运行此命令,将在项目的目录中创建 .git 目录。

Q. 描述以下你所使用的分支策略

  • 功能分支

    • 要素分支模型将特定要素的所有更改保留在分支内。当通过自动化测试对功能进行全面测试和验证时,该分支将合并到主服务器中。
  • 任务分支

    • 在此模型中,每个任务都在其自己的分支上实现,任务键包含在分支名称中。很容易看出哪个代码实现了哪个任务,只需在分支名称中查找任务键。
  • 发布分支

    • 一旦开发分支获得了足够的发布功能,你就可以克隆该分支来形成发布分支。创建该分支将会启动下一个发布周期,所以在此之后不能再添加任何新功能,只有错误修复,文档生成和其他面向发布的任务应该包含在此分支中。一旦准备好发布,该版本将合并到主服务器并标记版本号。此外,它还应该再将自发布以来已经取得的进展合并回开发分支。

Q. 如果分支是否已合并为master,你可以通过什么手段知道?

  • 要知道某个分支是否已合并为master,你可以使用以下命令:
    • git branch –merged 它列出了已合并到当前分支的分支。`
    • git branch –no-merged 它列出了尚未合并的分支。

Q. 什么是Git中的“冲突”

  • Git可以使用其自动合并功能自行处理大多数合并。当两个单独的分支对文件中的同一行进行编辑时,或者在一个分支中删除了一个文件却在另一个分支中对其进行了编辑时,就会发生冲突。在团队环境中工作时,冲突最有可能发生。

Q. 如何解决Git中的冲突

  1. 识别引起冲突的文件
  2. 在文件中进行必要的修改,以免再次发生冲突
  3. 通过命令git add 添加这些文件
  4. 最后使用命令git commit 提交更改的文件

猜你喜欢

转载自blog.csdn.net/m0_47772488/article/details/108368510