版本管理的演变

  1. 集中式 VCS
  2. 分布式 VCS

GIT 特点

  1. 最优的存储能力;

  2. 非凡的性能;

  3. 开源的;

  4. 很容易做备份;

  5. 支持离线操作;

  6. 很容易定制工作流程;

认识工作区、暂存区和版本库

  1. 理解下 Git 工作区、暂存区和版本库概念

    1. 工作区:就是你在电脑里能看到的目录;
    2. 暂存区:英文叫 stageindex,一般存放在 .git 目录下的 index 文件 (.git/index) 中,所以把暂存区有时也叫作索引 (index)
    3. 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库;
  2. git 操作

面试题

git 与 svn 的区别在哪里?

  1. gitsvn 最大的区别在于 git 是分布式的,而 svn 是集中式的。因此我们不能再离线的情况下使用 svn,如果服务器出现问题,我们就没有办法使用 svn 来提交我们的代码。

  2. svn 中的分支是整个版本库的复制的一份完整目录,而 git 的分支是指针指向某次提交,因此 git 的分支创建更加开销更小并且分支上的变化不会影响到其他人,svn 的分支变化会影响到所有的人;

  3. svn 的指令相对于 git 来说要简单一些,比 git 更容易上手;

git pull 和 git fetch 的区别

  1. git fetch 只是将远程仓库的变化下载下来,并没有和本地分支合并;

  2. git pull 会将远程仓库的变化下载下来,并和当前分支合并;

git rebase 和 git merge 的区别

  1. git mergegit rebase 都是用于分支合并,关键在 commit 记录的处理上不同;

  2. git merge 会新建一个新的 commit 对象,然后两个分支以前的 commit 记录都指向这个新 commit 记录。这种方法会保留之前每个分支的 commit 历史;

  3. git rebase 会先找到两个分支的第一个共同的 commit 祖先记录,然后将提取当前分支这之后的所有 commit 记录,然后将这个 commit 记录添加到目标分支的最新提交后面;经过这个合并后,两个分支合并后的 commit 记录就变为了线性的记录了;

打赏作者
您的打赏是我前进的动力
微信
支付宝
评论

中午好👏🏻,我是 ✍🏻   疯狂 codding 中...

粽子

这有关于前端开发的技术文档和你分享。

相信你可以在这里找到对你有用的知识和教程。

了解更多

目录

  1. 1. 版本管理的演变
  2. 2. GIT 特点
  3. 3. 认识工作区、暂存区和版本库
  4. 4. 面试题
    1. 4.1. git 与 svn 的区别在哪里?
    2. 4.2. git pull 和 git fetch 的区别
    3. 4.3. git rebase 和 git merge 的区别