一个人如果单靠自己,如果置身于集体的关系之外,置身于任何团结民众的伟大思想的范围之外,就会变成怠惰的、保守的、与生活发展相敌对的人。 --高尔基
发现问题
前几天我和朋友们商量着做一个开源项目,考虑到墙的问题,所以我们将git仓库部署在了开源中国GIT,以前我在开源中国上建的一直是私有项目,自己配一个ssh密钥对,pull,push都很ok。所以,对于权限的问题一直是处于忽略和没感觉状态,就在刚刚,小伙伴说没法push代码,我第一反应是会不会是因为本地的树和远端的不同步,但是执行pull成功后,还是push不上去,也不报错,就是没反应。后来百度了下,发现是因为权限的问题。
尝试平台解决
对于权限问题,我第一反应就是咱不用HTTPS的方式提交代码,用ssh提交,因为ssh是基于公钥和私钥的权限认证,只要配置好了,以后会非常好用,所以我登录呢git@osc,找给小伙伴配置公钥的地方,找了半天,针对当前项目,只发现有部署公钥(只可以拉取,不可以提交的公钥)的地方,所以,还是只能用HTTPS的方式提交。
解决问题
我发现其实这并不是我自己遇到的问题,网上有很多同伴都有这样的需求,那么怎么解决呢!我总结了下,大体分两种:
记住密码型
- 设置GIT记住密码
git config --global credential.helper store
- 正常push等待输入密码的弹框提示
git push origin a:a
- 以后都可以直接push就好
URL配置型[推荐]
- 设置GIT远程URL
a. git remote origin set-url https://username:password@git.oschina.net/...
b. 直接修改.git/config文件
特别提醒:如果你的用户名或者密码存在
@
请用%40
替换@
。
- 直接push就可以
最后说两句,其实git的团队合作,除了项目组的小伙伴直接提交以外,其实每一个看到项目的同行都可以通过Pull Request贡献代码,Amanage期待您的加入!
本文由 陌上花开 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Jul 1, 2016 at 06:20 am