Skip to content

Git 面试题

Git 中 fork、clone、branch 的概念和区别

fork : 作用域代码仓库,一般用于将别人的代码仓库 fork 到自己的仓库中,如果需要修改别人的仓库内容,需要进行 pull requrest

clone: git 的命令,从远程仓库中将某一个分支的内容 clone 到本地,从而形成本地仓库

branch: 分支的概念,git clone 的时候就是下载的某一个分支,也可以通过 git branch 命令去在本地仓库创建一个新的分支

Git 的常用命令有哪些

操作命令

  • git init : 初始化仓库
  • git pull <远程仓库名> <远程分支名> : 拉取远程仓库的分支与本地当前分支合并
    • git pull <远程仓库名> <远程分支名>:<本地分支名> : 拉取远程仓库的分支与本地某个分支合并
  • git add . : 将本地修改文件提交到缓存区
  • git commit : 将本地缓冲区文件提交到本地仓库
    • git commit -m '注释' : 提交代码到本地仓库并提交注释
    • git commit -v : 提交的时候显示所有的 diff 信息
    • git commit--amend [file1] [file2] : 重做上一次 commit,并包括指定文件的新变化
  • git push

说说 Git 常用的命令有哪些

git reset 和 git revert 的理解?区别?

git reset

回退版本,可以遗弃不再使用的提交

img

git revert

在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化,不会改变过去的历史,主要是用于安全地取消过去发布的提交

img

一般我们在本地工作区需要回滚的时候可以使用 git reset

在服务端 Git 中尽量使用 get revert

git rebase 和 git merge

git rebase

将待合并分支的记录合并到主分支记录后面,形成一条线性记录 image-20230925225219923

get merge

将待合并分支的记录与主分支合并生成一条新的记录,然后依然维持之前待合并分支 和 主分支的分记录线(两条线)

image-20230925225142901

git stash 和 git add

git stash

能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。

主要用来缓存当前工作目录中的修改,然后将远程分支的内容与本地分支进行合并,再将缓存的工作内容释放去合并