放肆青春的博客
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)

放肆青春

一个前端菜鸟的技术成长之路
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)
  • 开发相关

    • 项目管理

      • 团队工具
      • git

        • git 汇总

          • git
          • git 总结
            • git 常用术语
            • git 对比
              • Git 与 SVN 区别
              • git revert 和 reset 区别
              • git merge 和 rebase 区别
          • git 配置
          • git 命令
          • github
          • gitee
          • svn
        • git blog

      • UI 及 UE工具
      • 代码管理
      • jenkins
      • sonar
      • 移动端调试
      • nexus
    • 开发工具

      • node
      • npm
      • yarn
      • pm2
      • pnpm
      • safe
      • eslint
      • gitbook
      • vuepress 总结
      • vitepress
      • markdown
    • 开发软件

      • software
      • vscode
      • postman
      • SourceTree
      • idea
      • sublime
      • notepad
      • ediplus
      • xmind
    • 浏览器

      • chrome 汇总
      • chrome lighthouse
      • firefox
  • office

    • excel

      • excel
    • word

      • word
    • ppt

      • ppt
  • 实用工具

    • ps
    • premiere
  • tools
放肆青春
2020-07-09

git 总结

# git 常用术语

  1. 仓库(Repository)受版本控制的所有文件修订历史的共享数据库

  2. 工作空间(Workspace)本地硬盘或 Unix 用户帐户上编辑的文件副本

  3. 工作树/区(Working tree)工作区中包含了仓库的工作文件。您可以修改的内容和提交更改作为新的提交到仓库。

  4. 暂存区(Staging area)暂存区是工作区用来提交更改(commit)前可以暂存工作区的变化。

  5. 索引(Index)索引是暂存区的另一种术语。

  6. 签入(Checkin) 将新版本复制回仓库

  7. 签出(Checkout)从仓库中将文件的最新修订版本复制到工作空间

  8. 提交(Commit)对各自文件的工作副本做了更改,并将这些更改提交到仓库

  9. 冲突(Conflict)多人对同一文件的工作副本进行更改,并将这些更改提交到仓库

  10. 合并(Merge)将某分支上的更改联接到此主干或同为主干的另一个分支

  11. 分支(Branch)从主线上分离开的副本,默认分支叫 master

  12. 锁(Lock)获得修改文件的专有权限。

  13. 头(HEAD)头是一个象征性的参考,最常用以指向当前选择的分支。

  14. 修订(Revision)表示代码的一个版本状态。Git 通过用 SHA1 hash 算法表示的 ID 来标识不同的版本。

  15. 标记(Tags)标记指的是某个分支某个特定时间点的状态。通过标记,可以很方便的切换到标记时的状态。

# git 对比

# Git 与 SVN 区别

  1. Git 是分布式的,SVN 是集中式的

集中式版本控制系统:版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。​ 集中式版本控制系统最大的毛病就是必须联网才能工作。

​ 分布式版本控制系统:分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。比方说你在自己电脑上改了文件 A,你的同事也在他的电脑上改了文件 A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

  1. GIT 把内容按元数据方式存储,而 SVN 是按文件:因为 git 目录是处于个人机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。​

  2. GIT 分支和 SVN 的分支不同:svn 会发生分支遗漏的情况,而 git 可以同一个工作目录下快速的在几个分支间切换,很容易发现未被合并的分支,简单而快捷的合并这些文件。

  3. GIT 的内容完整性要优于 SVN:GIT 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

# git revert 和 reset 区别

  1. git revert 是用一次新的 commit 来回滚之前的 commit,git reset 是直接删除指定的 commit

  2. git reset 是把 HEAD 向后移动了一下,而 git revert 是 HEAD 继续前进,只是新的 commit 的内容和要 revert 的内容正好相反,能够抵消要被 revert 的内容。

# git merge 和 rebase 区别

  1. rebase 操作不会生成新的节点,merge 操作会生成新的节点

  2. rebase 会合并之前的 commit 历史,merge 命令不会保留 merge 的分支的 commit

  • 应用场景:

如果项目庞大,需要一个简洁的线性历史树便于 leader 管理,推荐使用 git rebase 。

如果是小型项目,需要审查历史纪录来便于编写过程报告,则推荐使用 git merge 。

更新时间: 12/2/2021, 3:09:06 PM
git
git 配置

← git git 配置→

最近更新
01
前端权限管理
02-24
02
vue2指令
02-24
03
vue2 hook
02-24
更多文章>
Theme by Vdoing | Copyright © 2019-2022 放肆青春
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式