错误一:error: insufficient permission for adding an object to repository database .git/objects
1 2 3 4 |
这个是因为以前是手动提交的,所以初始化项目的用户不是git,所以导致.git目录的所有者不是git,这样提交的时候就没法写入.git数据库,导致这个错误。解决方法很简单,改变.git目录拥有者即可 修改git服务器上的项目.git文件 sudo chown -R git:git blog.kydbk.com.git |
错误二:git添加公钥后报错sign_and_send_pubkey: signing failed: agent refused operation的解决办法
在服务器添加完公钥后报错
sign_and_send_pubkey: signing failed: agent refused operation
这个时候我们只要执行下
1 2 |
eval "$(ssh-agent -s)" ssh-add |
错误三:warning: push.default 未设置,它的默认值将会在 Git 2.0 由 ‘matching’
修改为 ‘simple’。若要不再显示本信息并在其默认值改变后维持当前使用习惯,
进行如下设置:
git config –global push.default matching
若要不再显示本信息并从现在开始采用新的使用习惯,设置:
git config –global push.default simple
push.default的可用值与配置方法贴在下面。
push.default可用的值如下:
1.nothing
不推送任何东西并有错误提示,除非明确指定分支引用规格。强制使用分支引用规格来避免可能潜在的错误。
2.current
推送当前分支到接收端名字相同的分支。
3.upstream
推送当前分支到上游@{upstream}。这个模式只适用于推送到与拉取数据相同的仓库,比如中央工作仓库流程模式。
4.simple
在中央仓库工作流程模式下,拒绝推送到上游与本地分支名字不同的分支。也就是只有本地分支名和上游分支名字一致才可以推送,
就算是推送到不是拉取数据的远程仓库,只要名字相同也是可以的。在GIT 2.0中,simple将会是push.default的默认值。
simple只会推送本地当前分支。
5.matching
推送本地仓库和远程仓库所有名字相同的分支。
这是git当前版本的缺省值。
一般来说我们使用simple就可以进行正常的使用,如果严格一点儿可以用nothing。
配置push.default的命令如下:
git config –global push.default simple
待涛哥遇到再总结
转载请注明:PHP笔记 » git使用过程中遇到的各种错误合集