首页 > 其他分享 >一天吃透Git面试八股文

一天吃透Git面试八股文

时间:2023-03-12 11:35:34浏览次数:30  
标签:Git 八股文 仓库 合并 git 提交 吃透 分支

什么是Git?

Git是一个版本控制系统,用于跟踪计算机文件的变化。Git是一个跟踪计算机文件变化的版本控制系统,用于帮助协调一个项目中几个人的工作,同时跟踪一段时间的进展。换句话说,我们可以说它是一个促进软件开发中源代码管理的工具。

Git和SVN的区别

Git是分布式版本控制系统,SVN是集中式版本控制系统

什么是 Git 仓库?

Git 仓库指的是一个用于存放源代码的地方。Git 仓库是指存放所有 Git 文件的地方。这些文件既可以存储在本地仓库,也可以存储在远程仓库。

有哪些Git命令及其功能?

  • Git config - 配置用户名和电子邮件地址
  • Git add - 添加一个或多个文件到暂存区域
  • Git diff - 查看对文件的修改情况
  • Git init - 初始化一个空的 Git 仓库
  • Git commit - 将更改提交到头部,但不提交到远程仓库

使用Git有什么好处?

  • 更快的发布周期
  • 易于团队协作
  • 广泛的接受度
  • 保持源代码的完整性
  • 拉动请求

如何解决Git中的冲突?

  • 识别造成冲突的文件。
  • 对这些文件进行所需的修改
  • 使用 git add 命令添加文件。
  • 最后一步是在git commit命令的帮助下提交文件的修改。

如何发现一个分支是否已经被合并了?

有两个命令可以确定:

  • git branch --merged -- 返回已被合并到当前分支的分支列表。
  • git branch --no-merged --返回尚未合并的分支的列表。

git remote和git clone什么区别?

'git remote add'在你的git配置中创建了一个条目,指定了一个特定URL的名称,而'git clone'通过复制位于该URL的现有仓库来创建一个新的git仓库。

reset和Revert的区别是什么?

Git reset是一个强大的命令,它可以让你的工作更有效率。

  • Git reset 是一个强大的命令,用于撤销对 Git 仓库状态的局部修改。Git 重置的操作对象是 "Git 的三棵树",即:提交历史(HEAD)、暂存索引和工作目录。
  • Git的Revert命令创建了一个新的提交,撤销了前一个提交的修改。这个命令为项目添加了一个新的历史。它并不修改现有的历史。

Git 和 GitHub 的区别是什么?

Git 是一个版本控制系统。Git 是一个版本控制系统,用于管理源代码历史。而GitHub则是一个基于云的托管服务,用于管理Git仓库。GitHub的目的是帮助更好地管理开源项目。

git reset的功能是什么?

Git reset "的功能是将你的索引以及工作目录重置为你最后一次提交的状态。

git fetch&git pull详解

git fetch的意思是将远程主机的最新内容拉到本地,用户再检查无误后再决定是否合并到工作本地分支中。

git pull 是将远程主机中的最新内容拉取下来后直接合并,即:git pull = git fetch+git merge,这样可能会产生冲突,需要手动解决。

Git stash存储的目的是什么?

Git stash 获取工作文件和索引的当前状态并放入堆栈以供下一步使用,并返回一个干净的工作文件。因此,如果在对象中间并需要跳转到其他任务,同时不想丢失当前的编辑,可以使用 Git stash。

说说GIT合并的方法以及区别?

Git代码合并有两种:git merge 和 git rebase

git merge:这种合并方式是将两个分支的历史合并到一起,现在的分支不会被更改,它会比对双方不同的文件缓存下来,生成一个commit,去push。

git rebase:这种合并方法通常被称为“衍合”。他是提交修改历史,比对双方的commit,然后找出不同的去缓存,然后去push,修改commit历史。

Git提交代码的步骤

git clone (这个是你新建本地git仓库,如已有可忽略此步)
git pull    取回远程主机某个分支的更新,再与本地的指定分支合并。
git status  查看当前状态
git add + 文件
git add -u + 路径:将修改过的被跟踪代码提交缓存
git add -A + 路径: 将修改过的未被跟踪的代码提交至缓存
git add -u com/breakyizhan/src 将 com/breakyizhan/src 目录下被跟踪的已修改过的代码提交到缓存中
git commit -m "修复XXbug"   推送修改到本地git库中
git push    把当前提交到git本地仓库的代码推送到远程主机的某个远程分之上

什么是“git cherry-pick”?

git cherry-pick 通常用于把特定提交从存储仓库的一个分支引入到其他分支中。常见的用途是从维护的分支到开发分支进行向前或回滚提交。这与其他操作(例如merge、rebase)形成鲜明对比,后者通常是把许多提交应用到其他分支中。

说一下Gitflow 工作流程吗?

Gitflow 工作流程使用两个并行的、长期运行的分支来记录项目的历史记录,分别是 master 和 develop 分支。Master,随时准备发布线上版本的分支,其所有内容都是经过全面测试的。Hotfix,维护或修复分支是用于给快速给生产版本修复打补丁的。修复分支很像发布分支和功能分支,除非它们是基于 master 而不是 develop 分支。Develop,是合并所有功能分支,并执行所有测试的分支。只有当所有内容都经过彻底检查和修复后,才能合并到 master 分支。Feature,每个功能都应留在自己的分支中开发,可以推送到 develop 分支作为功能分支的父分支。

标签:Git,八股文,仓库,合并,git,提交,吃透,分支
From: https://www.cnblogs.com/tyson03/p/17207835.html

相关文章

  • 一天吃透Git面试八股文
    什么是Git?Git是一个版本控制系统,用于跟踪计算机文件的变化。Git是一个跟踪计算机文件变化的版本控制系统,用于帮助协调一个项目中几个人的工作,同时跟踪一段时间的进展。换句......
  • GitLab基本设置-新增用户
    场景在上面将Gitlab部署后的效果如下 注:关注公众号霸道的程序猿获取编程相关电子书、教程推送与免费下载。实现刚搭建完首次登录需要设置root账户的密码。使用root账户登......
  • 2、Git工作流程
    工作流程一般的工作流程如下:将Git的一个存储库克隆为工作副本通过添加/编辑文件修改工作副本如有必要,还可以通过让其他开发人员一起来更改/更新工作副本在提交之前查......
  • 1、Git快速入门
    如何使用git//原文出自【易百教程】,商业转载请联系作者获得授权,非商业请保留原文链接:https://www.yiibai.com/git/git-quick-start.html#article-start安装git客户端后,右......
  • 3、Git常规操作
    常规操作https://www.cnblogs.com/ydbk/p/14257920.html克隆操作gitclonehttp://git.oschina.net/yiibai/sample.git[自定义目录名称]#如果不自定义,就会默认创建......
  • Git rebase 与 merge
    合并分支在开发过程中,会有许许多多的分支,但每一个仓库都有一个核心分支——main分支,用于发布稳定版本的分支。其余的分支开发完成一个功能或修复一个BUG之后都是要与......
  • git将本地文件传到gitee中
    一,文件上传到gitee1.先在gitee中新建一个仓库获取地址:[email protected]:weixinwen/practice.git如下图2.简易的命令行入门教程:Git全局设置:gitconfig--globaluser.......
  • 笔记五:git团队协作
    一:学习内容git团队内协作git跨团队协作 二:git团队内协作用案例来说明步骤:1.师傅岳不群创建了一套华山剑法,把它推送到代码托管中心远程库2.弟子令狐冲将整套剑法下......
  • 笔记四:git分支
    一:学习内容git分支特性git分支操作-查看分支git分支操作-创建分支git分支操作-切换和修改分支git分支操作-分支合并git分支操作-代码合并冲突解决 二:git分支特......
  • 笔记三:git常用命令
    一:学习内容1、设置用户签名:gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱2、操作本地库:初始化本地库:gi......