git 修改密码_Git基础知识(九)

Git基础知识(九)

一个远程仓库通常只是一个裸仓库: 一个没有当前工作目录的仓库。

简单的说,裸仓库就是你工程目录内的 .git 子目录内容,不包含其他资料。

协议

  • 本地协议
  • HTTP协议
  • SSH协议
  • Git协议

本地协议

使用本地的一个文件夹当作仓库的时候,将它使用文件共享给其他人。

$ git clone /opt/git/project.git # 本机$ git clone file:///opt/git/project.git #共享文件

增加一个本地版本到Git项目

$ git remote add local_proj /opt/git/project.git
  • 优点

简单,直接使用了现有的文件权限和网络访问权限。

  • 缺点

不方便从多个位置访问。

并不保护仓库避免意外的损坏,每一个用户都有“远程”目录的完整 shell 权限,没有方法可以 阻止他们修改或删除 Git 内部文件和损坏仓库。

HTTP协议

  • Git 1.6.6之前的HTTP协议是只读模式的,又称为「哑」HTTP协议。
  • Git 1.6.6之后的HTTP协议,又称「智能」HTTP协议。

可以使用 HTTP 协议的用户名/密码的基础 授权,免去设置 SSH 公钥。

相比 SSH 协议,可以使用用户名/密码授权是一个很大的优势,这样用户就不必须在使用 Git 之前先在本地生成 SSH 密钥对再把公钥上传到服务器。

SSH协议

SSH 协议也是一个验证授权的网络协议;

克隆的方法:

# 1$ git clone ssh://user@server/project.git# 2$ git clone user@server:project.git

优点:

  • 通过 SSH 访问是安全的「 所有传输数据都要经过授权和加密。」
  • SSH 协议很高效,在传输前也会尽量压缩数据。

缺点:

  • 不能匿名访问(即使是只读数据)

Git协议

包含在 Git 里的一个特殊的守护进程。

它监听在一个特定的端口「9418」。

要让版本库支持 Git 协议,需要先创建一个 git-daemon-export-ok 文 件 :它是 Git 协议守护进程为这个版本库提供服务的必要条件 「但是除此之外没有任何安全措施」。 要么谁都可以克隆这个版本库,要么谁也不能。 由于没有授权机制,一旦开放推送操作,意味着网络上知道这个项目 URL 的人都可以向项目推送数据。

优点:最快

缺点:缺乏授权机制

搭建Git仓库

导出裸仓库

我们需要导出一个「不包含当前工作目录的仓库」

$ git clone --bare Git_study Git_study.git
d35c8670a2e95cd576b264d8f9bf9f28.png

导出裸仓库

把仓库放到服务器上

假设使用我的阿里云设备来当服务器

我在/home/zx路径下新建一个文件夹git_study

存放路径:/home/zx/git_study

$ scp -r Git_study.git zx@123.56.13.233://home/zx/git_study
f4acf62c85254509a60d62a7243f56c4.png

上传至服务器

下面看一下阿里云上的内容

aa1cb3b031551afce815f8c345d5c8f5.png

服务器侧

克隆内容

$ git clone zx@123.56.13.233:/home/zx/git_study/Git_study.git
332b57c27d68b9ca49460288255b1f13.png

普通克隆

也可以将这个仓库进行修改,使其拥有推送权限。

运行 git init 命令,并加上 --shared 选项,那么 Git 会自动修改该仓库目录的组权限 为可写。

$ ssh zx@123.56.13.233$ cd /home/zx/git_study/Git_study.git$ git init --bare --shared# Reinitialized existing shared Git repository in /home/zx/git_study/Git_study.git/
d37dab18539a61fabec3bd115134eb01.png

增加权限

由于我大部分时间都是使用的HTTP来进行Git操作,所以SSH相关内容就不画蛇添足了。

有很多优秀的代码托管平台可以选择:https://git.wiki.kernel.org/index.php/GitHosting

ade066a5a9a166bf7518292a26a43c2a.png

代码托管

欢迎关注我的公众号:zx94_11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值