跳转至

Git 更改远程地址协议


2017-07-27 by dongnan

目标

更改 git 远程地址协议,由 http 方式 替换为 ssh 协议。

问题描述

git 可以使用 http/ssh 方式提交代码,如果你的 gogs 使用的 ssh key 方式提交代码。

那么在 clone 项目是注意选择使用 ssh 协议,而不是默认的 http 协议,否则会导致 push 代码需要再次认证,例如:

git push
# ...省略
Username for 'http://git.zongming.net:3001': dongnan
Password for 'http://dongnan@git.zongming.net:3001':
remote: invalid token
fatal: Authentication failed for 'http://git.zongming.net:3001/dongnan/moon.git/'

环境

gogs on Docker
git --version
git version 1.9.1

解决方法

更换远程地址,由 http 方式 替换为 ssh 协议。

当前的地址

git remote -v
origin    http://git.zongming.net:3001/dongnan/moon.git (fetch)
origin    http://git.zongming.net:3001/dongnan/moon.git (push)

编辑 git 配置文件

vim .git/config

# 修改 url 关键字
http://git.zongming.net:3001/dongnan/moon.git
变更为: git@git.zongming.net:dongnan/moon.git

验证

git push
# ...省略
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 2.49 KiB | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To git@git.zongming.net:dongnan/moon.git
f13b997..728f72d  master -> master

欢迎关注微信公众号: 运维录

Back to top