[[416119]]
本文转载自微信公众号「JS每日一题」,官说作者灰灰 。说对转载本文请联系JS每日一题公众号。理解
git,是说对一个分布式版本控制软件,最初目的理解是为更好地管理Linux内核开发而设计
分布式版本控制系统的客户端并不只提取最新版本的文件快照,而是面试把代码仓库完整地镜像下来。这么一来,官说任何一处协同工作用的说对服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复
项目开始,只有一个原始版仓库,别的机器可以clone这个原始版本库,那么所有clone的机器,它们的版本库其实都是一样的,并没有主次之分
所以在实现团队协作的时候,只要有一台电脑充当服务器的角色,其他每个人都从这个“服务器”仓库clone一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交
github实际就可以充当这个服务器角色,其是一个开源协作社区,提供Git仓库托管服务,既可以让别人参与你的开源项目,也可以参与别人的开源项目
当我们通过git init创建或者git clone一个项目的时候,项目目录会隐藏一个.git子目录,其作用是用来跟踪管理版本库的
Git 中所有数据在存储前都计算校验和,然后以校验和来引用,所以在我们修改或者删除文件的时候,git能够知道
Git用以计算校验和的机制叫做 SHA-1 散列(hash,哈希), 这是一个由 40 个十六进制字符(0-9 和 a-f)组成字符串,基于 Git 中文件的内容或目录结构计算出来,如下:
- 24b9da6552252987aa493b52f8696cd6d3b00373
当我们修改文件的时候,git就会修改文件的状态,可以通过git status进行查询,状态情况如下:
文件状态对应的,不同状态的文件在Git中处于不同的工作区域,主要分成了四部分:
从上图可以看到,git日常简单的使用就只有上图6个命令:
但实际上还有很多命令,如果想要熟练使用,还有60个多命令,通过这些命令的配合使用,能够提高个人工作效率和团队协助能力
参考文献
https://zh.wikipedia.org/wiki/Git
https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
责任编辑:武晓燕 来源: JS每日一题 Git面试版本
(责任编辑:综合)
中信股份以20.8亿美金收购麦当劳中国大陆和香港业务之控制权益
去年央企完成固定资产投资2.8万亿元 4月份以来始终保持正增长
舅舅打死外甥潜逃20年后落网 案发时租屋就位于这一片旧房之中
三季度基金代销机构公募基金保有规模前100强名单 银行C位不变
厦门空港:9月旅客吞吐量180.89万人次 同比下降16.72%