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