mac下gitLab、sourceTree使用遇到的问题小记

同事离职后,账户被销毁,在切换电脑使用时,账号切换过程中,遇到点问题,先记录一下。

公司开发工具用的gitlab和sourcetree,其中sourcetree还需要Atlassian (需要翻墙,然后才可以使用)。

当我在sourcetrees上切换账号去sourcetree 偏好设置  通用里 更改用户,当改成自己的后拉去提交远程仓库出现问题:报错账号被锁或远程仓库不存在,原因是gitlab 和 sourcetree之间需要ssh key 关联用户,本地的id_rsa.pub  ssh 密钥并不是我的账号的。所以需要更改。

首先,可以通过在终端下运行cat ~/.ssh/id_rsa.pub 此命令检查是否已有一个SSH密钥。

如果看到以ssh-rsa开头的长字符串,则说明已经您的电脑已有SSH密钥,直接复制使用。

如果没有,则需要生成新的SSH,终端运行 ssh-keygen -t rsa -C"GitLab登录邮箱名"  

注意:此命令将提示您输入存储密钥对和密码的位置和文件名。当提示输入位置和文件名时,只需按enter键即可使用默认值。如果使用其他名称,则不会自动使用该键。默认即可。会出现The key fingerprint is:SHAxxxxxxxx 邮箱名称 The key's randomart image is:xxxxx 

没有出错的情况下就生成了SSH,然后重新运行 cat ~/.ssh/id_rsa.pub ,即可得到SSH密钥。

输入ssh-keygen -t rsa -C "[email protected]"’,这个地方输入的是你注册gitlab所使用的邮箱。按回车,之后还需要输入密码之类的东西,可以选择不输入直接回车。

这里写图片描述

上图中的id_rsa.pub文件用记事本之类的文本编辑器打开,然后将其中内容全部复制。

登录GitLab的个人账户,找到SSH Keys,并将复制的内容粘贴到Key下面的文本域中,然后点击Add Key。 

接下来就能进行提交、推送、拉取等操作了

这里写图片描述

在SourceTree中配置与GitLab公钥对应的公钥。点击工具->选项: 
这里写图片描述

到这儿为止,SourceTree配置SSH就完成了。

 这样便可以直接拉取,提交,远程仓库的代码了。

在这个过程中,刚开始不知道原因所在,看网上的一些解决方法用命令把本地的.git文件都给删了,结果本地仓库玩蛋。

接下来便需要解决sourcetree将已经存在的的本地文件夹和远程仓库关联。

按照这个思路,sourcetree 新建中添加已经存在的本地仓库,然后和 点击右上角的设置,设置远程仓库的地址和仓库名字和远程仓库连接。结果又出问题了git fatal: refusing to merge unrelated histories。

最后通过打开sourcetree上的命令,git pull origin master --allow-unrelated-histories,拉取,解决完冲突之后,再提交。希望你们的冲突不要太多。如果问题太多的话,就从头开始,在新的文件下重新来过,不过本地的代码都会丢掉的。

  1. 新建远程仓库,得到远程地址
  2. create新建一个本地仓库,我把名字取的和远程仓库一样,不选择在账户中创建仓库
  3. 点击右上角的设置,设置远程仓库的地址和仓库名字
  4. 点击拉取 (拉取前可能该项目会有一个初始化commit,所以,点左侧分值,选择相应分支(比如master),找到初始化提交,右键选择将master分支重置到这次提交)
  5. 本地提交

参考:https://www.cnblogs.com/Sharley/p/7944070.html

https://www.cnblogs.com/Sharley/p/7944070.html

猜你喜欢

转载自blog.csdn.net/kdsde/article/details/81365404
今日推荐