UOS:安装git并访问私有仓库gitlab
学习自:linux安装git 命令行工具,Linux平台上安装Git及其配置-CSDN博客
0、常用指令
本节为常用指令,初学者请从第一节开始。
#创建本地库 cd /usrl/local mkdir gitDocDir
cd gitDocDir git init #从gitlab上拷贝代码到本地 git clone https://xxx/xxx.git
保存到之前git init的那个目录下
#本地更新 git add README.md git commit -m 'I carte a file for README.md,version 1.0' #上传 git push -u origin master
1、判断UOS上是否已经安装过了git
学习自:linux如何判断是否安装git • Worktile社区
方法一:git --version
如果安装了,会输出git版本号信息;
如果没安装,会提示找不到该命令。
方法二:包管理器
如果是D开头的UOS,用apt list -installed | grep git
如果是A开头的UOS,用yum list installed | grep git
如果输出结果中包含了git,表明已经安装了git。
方法三:是否存在git目录
Linux操作系统中,git的默认安装目录为/usrbin/git,可以用指令:
ls /usr/bin/git
来判断该目录是否存在。
如果通过上述方法看到git已经存在了,那么直接用就行,不用再安装了。
2、安装Git
学习自:linux安装git 命令行工具,Linux平台上安装Git及其配置-CSDN博客
1)按照UOS:统信操作系统UOS上的包管理器上所说的方式,判断自己的UOS是用yum还是apt-get;
2)以DTC版本为例,它的包管理器为apt-get;
3)安装Git所需要的依赖工具:curl、zlib、openssl、expat、libiconv:
apt install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
如果apt指令不能用,请改用apt-get
4)安装git
apt install git
一些老的版本可能是:apt install git-core
3、使用git从gitlab上拉取镜像
学习自:Linux上的gitlab日常操作_linux 如何测试能访问到 git仓库-CSDN博客
1)配置用户名、邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱"
Git是分布式版本控制系统,因此每个机器都要自报家门:名字、邮箱(这里的名字和邮箱不是瞎填的,和你在gitlab上注册时填的用户名、邮箱一致)。
配置完成后,可以去~/.gitconfig中看到之前的配置信息:
cat ~/.gitconfig
[user] name = 用户名 email = 邮箱
2)创建版本库
版本库可以看成一个目录,这个目录中的所有文件都可以被Git管理,所有文件的修改、删除,Git都能跟踪,以便任何时候都可以追踪(还原)历史。
cd /usrl/local
mkdir gitDocDir
git init
响应:已初始化空的Git仓库于/usr/local/gitDocDir/.git
3)下载代码版本库
①进行证书忽略
git config --global http.sslVerify false
②下载库到本地:git clone
进入某个要下载的库中,点击Clone,选择Clone with HTTP,复制这个url(下图是用github做示例)
git clone https://xxx/xxx.git
会出现如下响应
正克隆到 '本地同名目录' Username for 'http://xxx': Password for 'http://用户名@xxx':
需要输入你在gitlab上注册时的用户名和密码(不是我们在上文git config设置的那个)。
4)本地更新:git add
cd xxx.git
git add README.md git commit -m 'I carte a file for README.md,version 1.0'
git add只会影响本地版本(详情见:git add 命令详解-CSDN博客),如果要把add后的文件加到gitlab上,需要用git push。
报错
如果这里没有设置全局用户名、邮箱(就是我们在第一步中做的事),报错Git fatal unable to auto-detect email address,解决方案参考自Git fatal unable to auto-detect email address-CSDN博客:
①用git config --local -l查看当前项目的git信息
$ git config --local -l core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.url=git@gitee.com:xoncology/shjyzxk.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/master branch.test.remote=origin branch.test.merge=refs/heads/test
可以看到没有全局用户信息:user.name和user.email。
②用git config --global设置全局用户信息
git config --global user.email "you@domain.com"
git config --global user.name "dev"
③如果用git config --local -l查看后还是没有全局用户信息,那么用git config --replace-all来直接替换全局信息:
git config --replace-all user.email "you@domain.com"
git config --replace-all user.name "github_username"
此时再看当前项目的git信息:
core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true remote.origin.url=git@gitee.com:xoncology/shjyzxk.git remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* branch.master.remote=origin branch.master.merge=refs/heads/master branch.test.remote=origin branch.test.merge=refs/heads/test user.email=you@domain.com user.name=github_username
以上操作只是在本地进行,并不会对远程仓库中的版本造成影响。
5)本地客户端SSH连接gitlab免密
①本地电脑生成密钥
ssh-keygen -t rsa
②查看公钥信息
ssh-rsa
③将公钥拷贝到gitlab
右上角头像→Edit Profile→SSH Keys
把~/.ssh/id_rsa.pub的内容复制到这里。
4、上传、同步
学习自:Linux上的gitlab日常操作_linux 如何测试能访问到 git仓库-CSDN博客
这一步一定要慎重,初学者千万不要把测试版本发到master上!如果不确定哪一步会有什么后果,建议做一步问一步有经验的人。
1)切换origin
git remote rename origin old-orign
2)连接到远程仓库
git remote add origin https://192.168.1.8:8443/it-group01/it-items.git
3)上传文件
git push -u origin master
4)查看远程版本仓库信息
git push -u origin master
5)删除远程仓库信息
git remote remove old-orign
git remote remove origin