统信下安装及使用GIT

Posted 左直拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统信下安装及使用GIT相关的知识,希望对你有一定的参考价值。

一、安装

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

sudo apt install git
git --version

二、应用

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 .git-credentials

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

https://用户名:密码@服务器IP:服务器端口

然后按ESC键退出编辑状态,输入 :wq 保存并退出。生成了文件 .git-credentials。接着运行

git config --global credential.helper store

生成了一个文件 .gitconfig:

ls -a
vi .gitconfig

打开来看,内容如下:
在这里插入图片描述
这样就代表准备就绪了。

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

mkdir code

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

cd code
git init

这样就初始化好了。

3、指向远程分支

chenqu@chenqu-uos:~/projects/gzdd$ git remote add origin http://192.168.0.32:10615/opencloud/open_cloud.git
chenqu@chenqu-uos:~/projects/gzdd$ git remote
origin

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
  获取地址:http://192.168.0.32:10615/opencloud/open_cloud.git
  推送地址:http://192.168.0.32:10615/opencloud/open_cloud.git
  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-develop
fatal: 'origin/gzdd-develop' 不是一个提交,不能基于它创建分支 'develop'
chenqu@chenqu-uos:~/projects/gzdd/cloud$ git pull
remote: 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), 完成.
来自 http://192.168.0.32:10615/opencloud/open_cloud
 * [新分支]          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/<分支> master

chenqu@chenqu-uos:~/projects/gzdd/cloud$ git checkout -b develop origin/gzdd-develop
正在检出文件: 100% (2807/2807), 完成.
分支 'develop' 设置为跟踪来自 'origin' 的远程分支 'gzdd-develop'。
切换到一个新分支 'develop'

//建立本地分支chenqu
chenqu@chenqu-uos:~/projects/gzdd/cloud$ git branch chenqu
chenqu@chenqu-uos:~/projects/gzdd/cloud$ git branch
  chenqu
* develop
chenqu@chenqu-uos:~/projects/gzdd/cloud$ git pull
已经是最新的。
chenqu@chenqu-uos:~/projects/gzdd/cloud$ 

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

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

以上是关于统信下安装及使用GIT的主要内容,如果未能解决你的问题,请参考以下文章

统信下安装nginx

统信下搭建vue开发环境

统信里安装人大金仓

统信UOS系统开发笔记:国产统信UOS系统搭建开发环境之虚拟机安装

centos 7安装gitlab及使用

统信UOS系统开发笔记:国产统信UOS系统搭建Qt开发环境安装Qt5.12