统信下安装及使用GIT

网友投稿 427 2022-08-22

统信下安装及使用GIT

一、安装

统信源自或曰改自Debian的分支,用apt进行包管理 。yum 是红帽和centos 分支使用的包管理。

sudo apt install gitgit

二、应用

1、将账号及密码写进凭据文件 我们每次去访问git服务器的时候,其实都需要进行身份认证。有2种方式,一种是密钥,将自己机器(即客户端)上生成的密钥文件内容粘贴到git服务器里,这个需要有邮箱账号。另一种方式是凭账号和密码。可以将账号和密码存储下来,省得每次都要输入,效果跟第一种是一样的。windows和linux两种操作系统下的GIT我都用了一下,windows的用第一种,因为有个git bash工具,可以生成这个SSH证书,将里面的内容粘贴到git服务器就好了。这个内容是啥呢?我估计是个公钥。详见 ​​​visual studio2017应用GIT​​

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

果然是粘贴公钥。那么原理就很明显了,我们拉取或提交代码前,先将自己的信息用私钥加密,发给git服务器,git用公钥解密,完成身份认证,建立连接,然后开始传输。传输估计不用非对称加密,否则速度很慢,应该是对称加密,可能就在建立连接时服务器生成了密钥。

但在linux下,想用用账号密码方式。可能SSH协议配置比较麻烦。

首先生成凭据文件。在根目录下,

cd ~vi

vi其实就是命令vim,linux下一个常用的编辑文本命令。进入以后,还是只读状态,按下小写“i”键,进入编辑模式,输入代码地址及用户、密码信息,类似:

​​:wq​​ 保存并退出。生成了文件 .git-credentials。接着运行

git

生成了一个文件 .gitconfig:

ls -avi

打开来看,内容如下:

这样就代表准备就绪了。

2、git初始化 首先创建一个文件夹,用来存放代码

mkdir

然后进入该文件夹,执行git 初始化

cd codegit

这样就初始化好了。

3、指向远程分支

chenqu@chenqu-uos:~/projects/gzdd$ git remote add origin git

origin就代表远程库了。

4、建立本地分支 按照我的习惯,本地建立2个分支: 1)develop 2)chenqu

其中develop负责与远程库交互,拉取和推送,是个中转站。chenqu才是我的开发库。开发库首先提交到这里来,然后合并到develop,再从develop推送到远程库。拉取也一样,先从远程库拉取到develop,再合并到chenqu。详见​​visual studio2017应用GIT​​

//首先看看远程有啥库chenqu@chenqu-uos:~/projects/gzdd/cloud$ git remote show origin* 远程 origin 获取地址: 推送地址: HEAD 分支:master 远程分支: gzdd 新的(下一次获取将存储于 remotes/origin) gzdd-develop 新的(下一次获取将存储于 remotes/origin) gzdd-test 新的(下一次获取将存储于 remotes/origin) hyzx 新的(下一次获取将存储于 remotes/origin) master 新的(下一次获取将存储于 remotes/origin)//将develop指向合适的分支chenqu@chenqu-uos:~/projects/gzdd/cloud$ git checkout -b develop origin/gzdd-developfatal: 'origin/gzdd-develop' 不是一个提交,不能基于它创建分支 'develop'chenqu@chenqu-uos:~/projects/gzdd/cloud$ git pullremote: Enumerating objects: 72, done.remote: Counting objects: 100% (72/72), done.remote: Compressing objects: 100% (46/46), done.remote: Total 7387 (delta 12), reused 2 (delta 0), pack-reused 7315接收对象中: 100% (7387/7387), 143.07 MiB | 11.13 MiB/s, 完成.处理 delta 中: 100% (1941/1941), 完成.来自 * [新分支] gzdd -> origin/gzdd * [新分支] gzdd-develop -> origin/gzdd-develop * [新分支] gzdd-test -> origin/gzdd-test * [新分支] hyzx -> origin/hyzx * [新分支] master -> origin/master当前分支没有跟踪信息。请指定您要合并哪一个分支。详见 git-pull(1)。 git pull <远程> <分支>如果您想要为此分支创建跟踪信息,您可以执行: git branch --set-upstream-to=origin/<分支> masterchenqu@chenqu-uos:~/projects/gzdd/cloud$ git checkout -b develop origin/gzdd-develop正在检出文件: 100% (2807/2807), 完成.分支 'develop' 设置为跟踪来自 'origin' 的远程分支 'gzdd-develop'。切换到一个新分支 'develop'//建立本地分支chenquchenqu@chenqu-uos:~/projects/gzdd/cloud$ git branch chenquchenqu@chenqu-uos:~/projects/gzdd/cloud$ git branch chenqu* developchenqu@chenqu-uos:~/projects/gzdd/cloud$ git

这中间出了个问题,说什么 fatal: ‘origin/gzdd-develop’ 不是一个提交,不能基于它创建分支 ‘develop’。也许是GIT还没反应过来,或者缓存啥的没更新,不认这个origin。这时运行一下 git pull 就好了。

至此,统信下的GIT安装及部署完毕。

2021.06.03 删除origin

git remote rm

删除本地分支

chenqu@chenqu-uos:~/projects/gzdd/cloud$ git branch -d developerror: 无法删除检出于 '/home/chenqu/projects/gzdd/cloud' 的分支 'develop'。chenqu@chenqu-uos:~/projects/gzdd/cloud$ git checkout chenqu切换到分支 'chenqu'chenqu@chenqu-uos:~/projects/gzdd/cloud$ git

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:统信(UOS)虚拟机网络设置
下一篇:Python之懒惰属性(延迟初始化)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~