落笔 Blog

落笔
Be a hero of your own
  1. 首页
  2. 开发工具
  3. 正文

本地git、GitLab、个人GitHub开发环境配置

2022年8月18日 1367点热度 0人点赞 0条评论

  前言:因为实习期间公司用的Gitlab提交代码,而个人仓库是Github,难免有同时代码管理的需求,仅此记录全链路流程,节省相关配置的时间。

gitlab仓库与配置

1.git本地配置

首先在~/.gitconfig配置文件进行用户名、邮箱等信息的配置,若没有该文件,则在根目录自己新建。配置内容如下(复制即可,将${your_gitlab_account}改成自己对应的用户名):

    [user]
    email = {your_gitlab_account}@bytedance.com
    name ={your_gitlab_account}
[url "gitr"]
    insteadOf = git://git.byted.org/
[credential "https://code.byted.org"]
    username = {your_gitlab_account}
[url "ssh://{your_gitlab_account}@git.byted.org:29418"]
    insteadOf = https://git.byted.org
[url "git@code.byted.org:"]
    insteadOf = https://code.byted.org/

之后可以使用命令

git config user.name
git config user.email

验证输入的用户名邮箱是否正确

2.SSH信息配置

在文件~/.ssh/config(没有则自己在根目录创建)中添加以公司对应的配置信息,这里不做展示。

3. GitLab仓库认证

公司使用的话Git仓库在使用时需要进行认证,进行SSO认证,个人使用则与后续的GitHub教程大同小异。

4. 拉取仓库内容

git clone 【仓库里对应的SSH即可】

此时本地开发环境已与GitLab代码库同步完成。

GitHub仓库与配置

1. git本地配置

关键是让两个配置在同一开发机生效,方便后续工作与个人学习,而go install/mod tidy或者module是通过git的http协议去下载依赖的,所以这里修改为ssh协议去获取。在~/.gitconfig文件中添加如下内容:

[url "git@github.com:"]
    insteadOf = http://github.com/

修改后go mod可以正确自动引用依赖了。

2.SSH信息配置

与上文公司的方法不同,个人开发大多都是使用SSH配置即可。首先使用如下命令创建SSH-key。

ssh-keygen -t rsa -C "${your_email}" -f ~/.ssh/id_rsa_github

由于gitlab已经创建过默认名称的SSH认证文件id_rsa_gitlab,所以为github的认证文件起一个其他的名字,这里采用加后缀的方式。接下来,要求输入更新代码的密码,可以设置或直接回车来跳过密码提交。此时,~/.ssh路径下应该有四个SSH配置文件了,分别为gitlab、github的公钥和私钥。
即:config, id_rsa_github, id_rsa, id_rsa_github.pub, id_rsa.pub, known_hosts
接下来,在文件 ~/.ssh/config 中添加以下内容:

Host github
    User git
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

其中:

  • Host:涵盖了下面一个段的配置,可以用它来替代将要连接的服务器地址。
  • User:自定义的用户名,默认为git,可不配置
  • HostName:真正连接的服务器地址
  • PreferredAuthentications:指定优先使用哪种方式验证,支持密码和秘钥验证方式
  • IdentityFile:指定本次连接使用的密钥文件
    最后,使用如下命令将生成的私钥添加到SSH中:

    ssh-add -K ~/.ssh/id_rsa_github

    而macOS Sierra后发现SSH不能保存key密码,可能是出于安全考虑,增加了UseKeychain选项,这样让用户可以自主的选择哪些host开启保存密码(之前是默认全部开区),即在 ~/.ssh/config 文件中添加如下内容:

    Host *
    AddKeysToAgent yes
    UseKeychain yes
    IdentityFile ~/.ssh/id_rsa_github

    3.GitHub仓库认证

    将刚刚生成的github公钥中的内容打开并复制,添加到github。如果刚没保存,可以直接使用如下命令来把公钥复制到剪切板:

    pbcopy < ~/.ssh/id_rsa_github.pub

    然后,进入自己的github主页,点击头像,然后点击下拉菜单中的Settings设置选项

    点击左侧SSH and GPG keys,然后新建一个SSH key。

    4. 拉取仓库内容

    git clone 【仓库里对应的SSH即可】,但git提交代码时查找优先级为:system配置->global配置->local配置,且后面的可以覆盖前面的。即:如果不修改账户的话,在提交代码人就会成为刚才在global配置中那样为公司账户,所以需要修改为自己github账户。使用如下命令:但是提交的时候需要区分个人GitHub个人开发者和GitLab的身份,需要:

    git config --local user.name "{your_github_name}"
    git config --local user.email{your_github_email}

    将此代码仓库中的账户改为个人github账户。修改后,可以使用命令:

    git config --local --list

    来查看修改是否成功。
    此时本地开发环境已与GitHub代码库同步完,可以愉快的在一台电脑上边工作边自我学习啦~

标签: 开发工具
最后更新:2022年8月21日

落笔

这个人很懒,什么都没留下

点赞

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

© 2022 落笔 Blog.

One Piece is a real treasure

粤ICP备2023064929号