Appearance
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 reset 和 git revert 的理解?区别?
git reset
回退版本,可以遗弃不再使用的提交

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

一般我们在本地工作区需要回滚的时候可以使用 git reset
在服务端 Git 中尽量使用 get revert
git rebase 和 git merge
git rebase
将待合并分支的记录合并到主分支记录后面,形成一条线性记录 
get merge
将待合并分支的记录与主分支合并生成一条新的记录,然后依然维持之前待合并分支 和 主分支的分记录线(两条线)

git stash 和 git add
git stash
能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。
主要用来缓存当前工作目录中的修改,然后将远程分支的内容与本地分支进行合并,再将缓存的工作内容释放去合并
