浅谈Git

2 篇文章 0 订阅

    2005年,Linus Torvalds(Linux内核之父)在非常短的时间内开发出了Git,Git是一个“分布式版本管理工具”,在git诞生之前,Linus Torvalds使用BitKeeper进行版本管理,BitKeeper是一个闭源的商业软件,这一年,一位Linux开发成员Andrew(Samba协议之父)写了一个可以连接BitKeeper仓库的外挂,因此BitMover公司(BitKeeper持有者)认为他反编译了BitKeeper于是决定中止Linux免费使用BitKeeper的授权,最终Linux团队与BitMover磋商无果,Linus Torvalds决定自己开发版本管理系统。

  十天后,git诞生了

Linus Torvalds认为健壮的版本管理系统应当具有以下三个特性:

  • 可靠性(reliable)
  • 高效(high-performance)
  • 分布式(distributed)

  

  对于所有的数据都会被计算成一个十六进制散列值被用作相关对象的引用及日后恢复数据时所需的键值,由于通过散列值来访问数据所以速度非常的快,体现了其高效性,相同的文件内容只需存储一次即可,且版本也可以离线生成,可以满足在没有中心服务器的情况下对代码进行分布式管理,不用担心会因版本问题而产生冲突。

一些基本命令

 

命令作用说明

git init

创建版本库git init命令会在所在目录中创建一个名为.git的隐藏目录,并在其中创建一个版本库,但在Windows资源管理器或Mac Finder中可能是不可见的
 git add  添加 git add命令用来确定哪些文件在下次提交中被添加,利用git add . 可以将当前目录下所有的文件添加
git commit提交git commit命令将修改传送到版本库中,并赋予该提交一个散列值以便标识这次新提交
git status检查状态git status命令会显示版本库中已添加文件的跟踪状态
git diff检查不同git diff命令可以用来显示每个被修改的行
git log显示历史git log命令可用来显示项目的历史,所有提交会按照时间顺序降序罗列出来
git clone克隆版本库git clone命令可用来创建一个拥有所有原始信息与整个项目的历史信息的克隆体
git pull取回修改git pull命令从版本库中取回新的修改,并将它们与克隆体中的本地修改进行比对,并在工作区合并两边修改,合并过程中可能会带来冲突,一旦遇到这种情况,Git就不能进行版本化合并了,只能通过手动清理一些文件再确认要提交哪些修改,pull命令只能在克隆体中发生作用,因为克隆体中有默认的原版本库的链接
git push上载修改git push命令会向共享版本库传送提交后的结果,与pull一样需要指定目标版本库的路径及其分支
git branch显示分支git branch命令(不带选项)可以列出所有的分支,其中带(*)凸显出当前活跃分支
git checkout改变分支git checkout命令来改变活跃分支,另外用git checkout -b 来新建并切换分支 用git checkout -d来删除分支


 

一个对于可视化Git分支的热门项目

learnGitBranching

learnGitBranching是一个可视化交互式Git分支项目,有一些列关卡,这个项目已经创建了7年之久了,可以作为玩具加快理解Git

https://github.com/pcottle/learnGitBranching

    另外在国内经常会发现git clone速度实在是感人,究其原因为github.global.ssl.fastly.net域名被限制了,只要找到这个域名对应的ip地址,然后在hosts文件中加上ip->域名的映射,刷新DNS缓存即可

查看域名对应的ip地址,并修改hosts文件,随即刷新DNS

#查看
nslookup github.global.ssl.fastly.Net
#Windows上的hosts文件路径在
#C:\Windows\System32\drivers\etc\hosts
#Linux的hosts文件在/etc/hosts中
#Mac也在/etc/hosts中
sudo vi /etc/hosts
#在hosts文件尾部添加两行
github.com 13.229.188.59
github.global.ssl.fastly.Net 151.101.229.194
#刷新DNS缓存
#Linux
sudo systemctl restart network
#Windows
ipconfig / flushdns
#Mac
sudo killall -HUP mDNSResponder

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盛者无名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值