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