GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
这里我找到了这个开源项目的地址:Gitlab开源项目
当我们本地开发完了项目,但是突然发现有一天不能正常的从gitlab服务器下拉项目代码和上传项目代码的时候,这是因为Gitlab服务器已经挂了。后端程序员重装Gitlab服务器之后,把首页地址发给你,给你配置好权限之后,你就可以去访问你有权限访问的Git项目了。本地的代码你还有很多没有提交,所以你需要和新装的Gitlab仓库和本地的项目仓库地址进行映射,才能进行提交项目的操作。
当你可以把代码提交到本地仓库的时候,但是无法向远程服务器提交代码,sourceTrree报错如下:
git-c diff.mnemonicPrefix=false-c core.quotePath=false-c凭据.helper=sourcetree获取源站
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@警告:检测到可能的DNS欺骗!@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
gitlab.fenjiread.com的ecdsa主机密钥已更改,
以及对应IP地址的密钥172.21.16.18
是未知的。这可能意味着
正在进行DNS欺骗或主机的IP地址
其主机密钥同时发生了变化。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@警告:远程主机标识已更改!@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
有可能有人做了一些下流的事!
有人可能正在偷听你(中间人攻击)!
主机密钥也可能刚刚更改。
远程主机发送的ECDSA密钥的指纹是
sha256:ejseeskjewi2vvclkuovbfy0qofspclwpx3deiq3+7s。
请与系统管理员联系。
在/users/guotianhui/.ssh/known_hosts中添加正确的主机密钥以消除此消息。
冒犯rsa-key-in/users/guotianhui/.ssh/known_hosts:4
gitlab.fenjiread.com的ecdsa主机密钥已更改,您已请求严格检查。
主机密钥验证失败。
致命:无法从远程存储库中读取。
请确保您拥有正确的访问权限
存储库存在。
已完成,但有错误,请参阅上面的
最后sourceTree提示你找不到仓库地址,这个就是gitlab服务重新安装导致仓库地址改变导致的。
我们进入到gitlab项目的页面,把项目地址的路径拷贝出来,但是进入项目发现报如下错:
You won't be able to pull or push project code via SSH until you add an SSH key to your profile
这里提示你填写ssh key,如果你之前已经生成过ssh key,这里就不需要再重新生成了,只需要把你电脑本地上的d_rsa.pub
/Users/guotianhui/.ssh/id_rsa.pub
现在我们已经配置好了ssh key,但是本地的仓库地址和新装的Gitlab服务器的仓库地址应该是不一样的了,之前的项目地址:
url = [email protected]:fenji-read/android-fenji-read.git
现在新建的gitlab项目仓库地址:
url = [email protected]:fenji-read/android-fenji-read.git
发现仓库地址是一样的,但是之前没有开启VPN,现在开启VPN了,所以ssh key应该是变了,所以需要重新生成ssh key。添加之后可以成功提交代码。
cd ~/.ssh
GitLab的生成ssh key 密钥:ssh-keygen -t rsa -C "[email protected]"
Mac电脑查看隐藏文件的快捷键:
Command + Shift + .
现在我们需要把本地代码上传到你在Gitlab创建的项目,创建项目可以的方式可以多种,还可以是直接从Gitlabd导入一个项目,但是需要安装Gitlab的插件。你会发现当你创建完项目之后,Gitlab会告诉你一堆的Git项目提交命令,但是当我们电脑上安装了sourceTree,我们就可以很轻松的利用sourceTree的推送功能,将你本地的项目推送到你新创建的项目目录下。