当前位置:首页 » 合同协议 » git协议

git协议

发布时间: 2020-12-22 17:43:30

① 如何查看git clone http协议

因为我们的复内部网络使用制了代理,所以在 安装 OpenStack 基于 Web 的管理控制台 的时候有个小麻烦,我们的 http 代理服务器无法通过 git 协议下载 openstack-dashboard 所需的代码,也就是说可以 git clone https:// 这样克隆代码

② git http ssh哪个好

各有优缺点,总的来说,HTTP使用更简便广泛。
以下参考: (Git官方服务器协议文档)
Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。
HTTP 协议(智能(Smart) HTTP 协议)
Git 1.6.6 版本引入了一种新的、更智能的新版本HTTP协议,让 Git 可以像通过 SSH 那样智能的协商和传输数据。 新版本的 HTTP 协议一般被称为“智能” HTTP 协议,旧版本的一般被称为“哑” HTTP 协议。
“智能” HTTP 协议的运行方式和 SSH 及 Git 协议类似,只是运行在标准的 HTTP/S 端口上并且可以使用各种 HTTP 验证机制,这意味着使用起来会比 SSH 协议简单的多,比如可以使用 HTTP 协议的用户名/密码的基础授权,免去设置 SSH 公钥。
智能 HTTP 协议或许已经是最流行的使用 Git 的方式了,它即支持像 git:// 协议一样设置匿名服务,也可以像 SSH 协议一样提供传输时的授权和加密。 而且只用一个 URL 就可以都做到,省去了为不同的需求设置不同的 URL。 如果你要推送到一个需要授权的服务器上(一般来讲都需要),服务器会提示你输入用户名和密码。 从服务器获取数据时也一样。
事实上,类似 GitHub 的服务,你在网页上看到的 URL (比如Github),和你在克隆、推送(如果你有权限)时使用的是一样的。
优点
不同的访问方式只需要一个 URL 以及服务器只在需要授权时提示输入授权信息,这两个简便性让终端用户使用 Git 变得非常简单。 相比 SSH 协议,可以使用用户名/密码授权是一个很大的优势,这样用户就不必须在使用 Git 之前先在本地生成 SSH 密钥对再把公钥上传到服务器。 对非资深的使用者,或者系统上缺少 SSH 相关程序的使用者,HTTP 协议的可用性是主要的优势。 与 SSH 协议类似,HTTP 协议也非常快和高效。
另一个好处是 HTTP/S 协议被广泛使用,一般的企业防火墙都会允许这些端口的数据通过。
缺点
在一些服务器上,架设 HTTP/S 协议的服务端会比 SSH 协议的棘手一些。 除了这一点,用其他协议提供 Git 服务与 “智能” HTTP 协议相比就几乎没有优势了。
如果你在 HTTP 上使用需授权的推送,管理凭证会比使用 SSH 密钥认证麻烦一些。 然而,你可以选择使用凭证存储工具,比如 OSX 的 Keychain 或者 Windows 的凭证管理器。 参考 凭证存储 如何安全地保存 HTTP 密码。
SSH 协议
架设 Git 服务器时常用 SSH 协议作为传输协议。 因为大多数环境下已经支持通过 SSH 访问 —— 即时没有也比较很容易架设。 SSH 协议也是一个验证授权的网络协议;并且,因为其普遍性,架设和使用都很容易。
优势
用 SSH 协议的优势有很多。 首先,SSH 架设相对简单 —— SSH 守护进程很常见,多数管理员都有使用经验,并且多数操作系统都包含了它及相关的管理工具。 其次,通过 SSH 访问是安全的 —— 所有传输数据都要经过授权和加密。 最后,与 HTTP/S 协议、Git 协议及本地协议一样,SSH 协议很高效,在传输前也会尽量压缩数据。
缺点
SSH 协议的缺点在于你不能通过它实现匿名访问。 即便只要读取数据,使用者也要有通过 SSH 访问你的主机的权限,这使得 SSH 协议不利于开源的项目。 如果你只在公司网络使用,SSH 协议可能是你唯一要用到的协议。 如果你要同时提供匿名只读访问和 SSH 协议,那么你除了为自己推送架设 SSH 服务以外,还得架设一个可以让其他人访问的服务。

③ 如何编写一个全新的 Git 协议

这是复要造轮子啊。。制。。。。。。
不知道对现有的git协议了解到何种程度了
可以看下git的源码
如果只是git协议中的某个部分不符合你的需求的话
可以进行修改而没必要完全推翻重来
毕竟这个项目是比较大的
建议还是修改吧
当然如果就是想造轮子的话
那就造吧
没有什么不可以
对git协议的不足做修改
对好的地方自己重新实现也提好的

④ 如何设置git提交时git协议

如下步骤:
1.创建复xxx_template文件,其内容为团制队制定的Git提交注释规范,如:
Desgraption:
Date:
Author:
2.通过git config命令配置commit_template,如:
git config –global commit.template /d/develop/Git/Git_Home/commit_template
3.设置git commit时填写注释所用的编辑器,如:
git config –global core.editor vi
OK,设置完成,提交使用git commit会出现与下图相似的界面填写好注释才能提交成功:

⑤ git上拉取内容会有两个协议,有什么区别

合同和协来议在实践中没有什源么区别.都是双方意思表示一致而达成的一种契约.简单地说,就是你情我愿,然后我们把大家都同意的事情固定下来,说明白,说清楚,那么我们达成一致的这个事项就是协议,在法律上就叫合同.
一般来说,生效的合同和协议法律效力就是相同的.除非没有生效或因为一些条件而失效.比如,合同或协议的一方是个7岁的小孩,这样的合同就没有效力.
需要公证的合同或协议只是把合同或协议的效力固定并强化,如果法律没有要求,合同,协议的当事人也没有约定,是不需要特别的公证的.
合同或协议一般两份就够了.合同当事人各持一份.至于您说的第三份,很可能是给见证人或第三人,这个作用也是为了强化合同或协议的效力,由双方当事人约定的.
合同或协议一般只是名称,叫法的不同.只要不违反法律和道德风俗,当事人可以任意约定合同或协议的名称,内容,形式,都是有效的.

⑥ git 依赖那些安全问题,我在生产搭建一个git服务,只开通了ssh协议。git就不能用了

您好,这样的:
第一:关于SSH的设置
1、 在客户端
[root@ www.linuxidc.net ~]# ssh-keygen //生成公匙和密匙
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
af:7a:4c:de:69:7d:5d:4c:74:41:2f:4b:9a:9f:69:08 root@ www.linuxidc.net
[root@ www.linuxidc.net ~]# scp .ssh/id_rsa.pub 192.168.1.193:/root //把自己的公匙上传到服务器
The authenticity of host '192.168.1.193 (192.168.1.193)' can't be established.
RSA key fingerprint is 0a:54:06:f8:28:41:bd:cd:bd:e6:fa:ae:de:56:24:78.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.193' (RSA) to the list of known hosts.
[email protected]'s password:
id_rsa.pub 100% 396 0.4KB/s 00:00
2、在服务器端的设置
[root@ www.linuxidc.com ~]# ssh-keygen //下边不输入任何一直点击确认
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
07:8f:af:6b:15:9c:7a:9b:7c:a8:7e:41:dd:bd:1f:56 root@ www.linuxidc.com
[root@ www.linuxidc.com ~]# cat id_rsa.pub >> .ssh/authorized_keys //导入客户端的公匙
第二:关于git安装和配置
1、 在服务器端和客户端的公共配置
[root@ www.linuxidc.com ~]# ls git-1.7.7.4.tar.gz
git-1.7.7.4.tar.gz
[root@ www.linuxidc.com ~]# tar zxvf git-1.7.7.4.tar.gz
[root@ www.linuxidc.com ~]# cd git-1.7.7.4
[root@ www.linuxidc.com git-1.7.7.4]# ./configure
[root@ www.linuxidc.com git-1.7.7.4]# make && make install
[root@ www.linuxidc.com git-1.7.7.4]# cp contrib/completion/git-completion.bash ~/.git-completion.bash
[root@ www.linuxidc.com git-1.7.7.4]# vi ~/.bashrc //加入下句话
source ~/.git-completion.bash
[root@ www.linuxidc.com git-1.7.7.4]# source ~/.bashrc
2、 在服务器端仅有的操作
[root@ www.linuxidc.com ~]# mkdir -p /opt/git/mygit
[root@ www.linuxidc.com mygit]# git --bare init //创建“仓库“
Initialized empty Git repository in /opt/git/mygit/
3、 在客户端的操作
[root@ www.linuxidc.net ~]# mkdir /git
[root@ www.linuxidc.net ~]# cd /git/
[root@ www.linuxidc.net git]# git init
Initialized empty Git repository in /git/.git/
[root@ www.linuxidc.net git]# vim README

Hello ethnicitybeta!
[root@ www.linuxidc.net git]# git add .
[root@ www.linuxidc.net git]# git commit -m "1st commmit"
[master (root-commit) e28450f] 1st commmit
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 README
[root@ www.linuxidc.net git]# git remote add origin 192.168.1.193:/opt/git/mygit
[root@ www.linuxidc.net git]# git push origin master //把自己的修改提交给服务器
Counting objects: 3, done.
Writing objects: 100% (3/3), 221 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To 192.168.1.193:/opt/git/mygit
* [new branch] master -> master
第三:关于权限的设定
这里设置只有有权限的人可以浏览修改,其他人不可以
[root@ www.linuxidc.com ~]# useradd git
[root@ www.linuxidc.com ~]# vim /etc/passwd
git:x:501:501::/home/git:/bin/bash/git-shell
这样就可以了。

⑦ git仓库,以http下载了代码,然后做了修改,再用命令将传输协议改成了ssh协议,现在提交到仓库再push报错

git push origin 本地分支:远程分支

⑧ git fetch支持 http协议吗

一旦远程主机的版复本库有了更新制(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。
$ git fetch <远程主机名>

上面命令将某个远程主机的更新,全部取回本地。
默认情况下,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。
$ git fetch <远程主机名> <分支名>

比如,取回origin主机的master分支。
$ git fetch origin master

所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取。比如origin主机的master,就要用origin/master读取。
git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支。
$ git branch -r
origin/master

$ git branch -a
* master
remotes/origin/master

上面命令表示,本地主机的当前分支是master,远程分支是origin/master。
取回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支。

⑨ 为什么VS2015/2017内置的Git插件都不支持SSH协议的地址

各有优缺点,来总的来说,HTTP使用更简便广自泛。 以下参考: (Git官方服务器协议文档) Git 可以使用四种主要的协议来传输资料:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议。

⑩ 从github上克隆仓库为什么不能用git@协议了

不是git@的问题,你要明白这个符号前面的git是表示用户的意思,而@后面一般是跟上仓库地址。不知道你是clone的公开源还是企业源。

热点内容
美发店认证 发布:2021-03-16 21:43:38 浏览:443
物业纠纷原因 发布:2021-03-16 21:42:46 浏览:474
全国著名不孕不育医院 发布:2021-03-16 21:42:24 浏览:679
知名明星确诊 发布:2021-03-16 21:42:04 浏览:14
ipad大专有用吗 发布:2021-03-16 21:40:58 浏览:670
公务员协议班值得吗 发布:2021-03-16 21:40:00 浏览:21
知名书店品牌 发布:2021-03-16 21:39:09 浏览:949
q雷授权码在哪里买 发布:2021-03-16 21:38:44 浏览:852
图书天猫转让 发布:2021-03-16 21:38:26 浏览:707
宝宝水杯品牌 发布:2021-03-16 21:35:56 浏览:837