一天吃透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面试八股文的更多相关文章
- 《面试八股文》之kafka21卷
微信公众号:moon聊技术 关注选择" 星标 ", 重磅干货,第一 时间送达! [如果你觉得文章对你有帮助,欢迎关注,在看,点赞,转发] 大家好,我是moon,最新一篇面试八股文系 ...
- 《面试八股文》之 Redis 16卷
微信公众号:moon聊技术 关注选择" 星标 ", 重磅干货,第一 时间送达! [如果你觉得文章对你有帮助,欢迎关注,在看,点赞,转发] 大家好,我是 moon. redis 作为 ...
- 《面试八股文》之 JVM 20卷
微信公众号:moon聊技术 关注选择" 星标 ", 重磅干货,第一 时间送达! [如果你觉得文章对你有帮助,欢迎关注,在看,点赞,转发] 大家好,我是 moon. <面试八股 ...
- 前端教程&开发模块化/规范化/工程化/优化&工具/调试&值得关注的博客/Git&面试-资源汇总
内容精简 资源这么多,多看看多学习再总结肯定是好的.多读读就算看重了不算浪费时间,毕竟一千个读者就有一千个林黛玉,还有温故而知新,说不定多读一些内容,就发现惊喜了呢.不过,在此也精简一些内容,就1~2 ...
- GIT的简介
本文来自:https://www.breakyizhan.com/git/32.html 这篇GIT教程提供了GIT的基本和高级概念,主要是面向GIT的初学者和专业人士来编写的. 什么是GIT呢? G ...
- 【Git】405- 分享:大牛总结的 Git 使用技巧
作者:你喜欢吃青椒么 来源:juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作 ...
- 大牛总结的 Git 使用技巧,写得太好了!
作者:你喜欢吃青椒么 juejin.im/post/5d157bf3f265da1bcc1954e6 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文 ...
- git看这一篇就够用了
前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程. Git是什么 官方话:Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务 ...
- 阿里P7面试官:请你简单说一下类加载机制的实现原理?
面试题:类加载机制的原理 面试官考察点 考察目标: 了解面试者对JVM的理解,属于面试八股文系列. 考察范围: 工作3年以上. 技术背景知识 在回答这个问题之前,我们需要先了解一下什么是类加载机制? ...
- s21day04 python笔记
s21day04 python笔记 一.上周知识回顾及补充 回顾 补充 编译型语言和解释性语言 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行 常见的编译型语言:C,C++,Ja ...
随机推荐
- js - script标签的for属性和event属性
js - script标签的for属性和event属性 <script language="javascript" for="window" event= ...
- jmeter非GUI模式运行-单节点
jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式. ...
- mobx基础
React 和 MobX 是一对强力组合.React 通过提供机制把应用状态转换为可渲染组件树并对其进行渲染.而MobX提供机制来存储和更新应用状态供 React 使用. 对于应用开发中的常见问题,R ...
- CSS边框(实线、虚线、破折号)
1.CSS边框 border:1px solid red; /*实线*/ border:1px dotted red; /*虚线*/ border:1px dashed red; /*破折号*/
- 2D 消隐效果
在触发消隐的物体(比如玩家)挂下面的代码,以及box collider,rigidbody 2d using UnityEngine; public class ColliderFader : Mon ...
- Samsung Wlan AP 默认口令
网络资产搜索: FoFa 进入页面 输入该产品账户密码 在github上面寻找 End!!!
- Flink 中 DataStream 和 DataSet区别
DataSet与DataStream的区别.使用 DataSet同DataStream从其接口封装.真实计算Operator有很大的差别,Dataset的实现在flink-javamodule中,而D ...
- [转]NET实现RSA AES DES 字符串 加密解密以及SHA1 MD5加密
表明来源 https://www.cnblogs.com/shanranlei/p/3630944.html#!comments 本文列举了 数据加密算法(Data Encryption Alg ...
- 【Android报错】FileNotFoundException open failed:文件路径 EPERM (Operation not permitted)外部存储至根目录报错,Android外部存储权限动态获取问题
报错:FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted) 查了下,大概原因是因为权限的问题.(小白学A ...
- 初次接触软构和git(使用eclipse)
目录: 一.git和github 二.软件构造lab1常见问题(eclipse) 一.git和github 1. git的安装 百度git然后去官网安装即可,不会的可以去百度查一下. 2. git和g ...