关于git:一天吃透Git面试八股文

1次阅读

共计 2205 个字符,预计需要花费 6 分钟才能阅读完成。

什么是 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 分支作为性能分支的父分支。

正文完
 0