git推送报错: No path specified. See 'man git-pull' for valid url syntax或does not appear to be a git repository以及remote: error: insufficient permission for adding an object to repository databa

  本地(windows)代码想推送到linux自己搭建的git服务端,第一步是建立本地与服务端的关联,第二步是本地推送到服务端。

  第一步需要看你本地工程是否从git上clone来的,如果是clone来的那就不存在第一步了。但如果是本地已经有了工程之后才想同步到git上,需要先到linux的git上新增同名git仓库并初始化。这里以ms-util工程为例:

cd git
mkdir ms-util.git
cd ms-util.git
git --bare init

  接着修改用户属主和用户组属主,并让git仓库右执行权限:

cd ..
chgrp git ms-util.git -R
chown git ms-util.git
chmod 775 ms-util.git

  搞完上面这两步后用ll命令看到的应该是这样的:

drwxrwxr-x 7 git git 4096 Mar 17 21:54 ms-util.git

  搞完服务端接着搞本地客户端,打开git bash:

cd workspace/ms-util
git init
git remote add origin ssh://111.11.111.11/git/ms-util.git

  这样就建立了本地客户端与远程git服务端的连接了,本地的git仓库ms-uitl就可以push给服务端的同名git仓库了。但此时git远程url的路径不对,所以会报如下错误:

git push -u origin master
fatal: No path specified. See ‘man git-pull‘ for valid url syntax

  告诉你没有url链接,或者说url不是一个仓库:

git push -u origin master
fatal: ‘/git/ms-util.git‘ does not appear to be a git repository
fatal: Could not read from remote repository.

  那么正确的git链接长啥样呢?可以先参考下

git remote -v
origin  ssh://111.11.111.11:ms-util.git (fetch)
origin  ssh://111.11.111.11:ms-util.git (push)

  从上面没有加入用户,我们可以自己加,重新关联服务端git时,先把老的配置删掉

git remote rm origin
git remote add origin git@111.11.111.11:ms-util.git

  这样第一步就结束了,第二步的问题也就来了:

$ git push -u origin master
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (10/10), 3.48 KiB | 891.00 KiB/s, done.
Total 10 (delta 0), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository databa                                                                                                                se ./objects
remote: fatal: failed to write object
error: remote unpack failed: unpack-objects abnormal exit
To 111.11.111.11:ms-util.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to ‘git@111.11.111.11:ms-util.git‘

  其实第二步的问题在设置第一步时已经埋下了。还记得这两条命令吗:

chown git ms-util.git
chmod 775 ms-util.git

  它们上了一个参数-R,导致ms-util.git里的用户和权限不对,当然无法在客户端push时写入服务端了。解决办法也很简单:进入linux下git目录

chown -R git ms-util.git
chmod -R 775 ms-util.git

  这时再回到windows下用git bash就可以push了:

 git push -u origin master
Counting objects: 10, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (10/10), 3.48 KiB | 891.00 KiB/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To 116.62.136.56:ms-util.git
 * [new branch]      master -> master
Branch ‘master‘ set up to track remote branch ‘master‘ from ‘origin‘.

  以后再push无需再加上-u了。

git推送报错: No path specified. See 'man git-pull' for valid url syntax或does not appear to be a git repository以及remote: error: insufficient permission for adding an object to repository databa

原文地址:https://www.cnblogs.com/wuxun1997/p/10551573.html

时间: 2024-07-30 14:27:15

git推送报错: No path specified. See 'man git-pull' for valid url syntax或does not appear to be a git repository以及remote: error: insufficient permission for adding an object to repository databa的相关文章

git 报错 error: insufficient permission for adding an object to repository database ./objects

参照:http://stackoverflow.com/questions/1918524/error-pushing-to-github-insufficient-permission-for-adding-an-object-to-reposi 原因:用ssh 管理时,客户端机器对服务器git代码仓库的写权限出了问题.如参考文 //登录到git 服务器ssh [email protected]  //进入代码仓库cd repository.git //改变代码仓库下,所有文件的访问权限,同组

git push error:error: insufficient permission for adding an object to repository database ./obje

http://stackoverflow.com/questions/1918524/error-pushing-to-github-insufficient-permission-for-adding-an-object-to-reposi 原因: 用ssh 管理时,客户端机器对服务器git代码仓库的写权限出了问题.如参考文 //登录到git 服务器 ssh [email protected]   //进入代码仓库 cd repository.git  //改变代码仓库下,所有文件的访问权限,

ubuntu 下git commit error insufficient permission for adding an object to repository database .git/objects错误 解决方法

根据提示便知是权限问题, 用下面的命令查询objects下有root权限的文件ll .git/objects/ | grep root drwxr-xr-x 2 root   root   4096 3月   1 21:40 3d drwxr-xr-x 2 root   root   4096 3月   1 21:40 5c 有些文件确实存在root权限 切换到root用户,将对应的几个目录改回对应的所有者和用户组即可: 切换到root权限, su 第一次可能会提示验证失败 此时可以添加密码 s

Git报错:insufficient permission for adding an object to repository database .git/objects

在本地搭建Git服务器后,在开发机上push新代码,发现Git提示: insufficient permission for adding an object to repository database .git/objects 出现的原因是:没有版本库所在目录的写权限,导致新的文件无法上传. 所以注意,在使用 sudo git init --bare xx.git 创建一个版本库之后,需要把权限调整一下,不然使用sudo创建后,是需要root权限的. 更改xx.git版本库的权限命令: su

insufficient permission for adding an object to repository database .git/objects

1.出错截图: 有时候使用软件项目管理系统github时候,会出现一些问题截图如下: 2.出错原因 从出错的地方就知道是因为权限不足导致,回想一下,在链接远程服务器时候,不小心切换为管理员权限进行了git pull更新的项目的代码. 如今切换为普通用户,应该是在git的某个目录下由于创建者是管理员,而当前用户权限比管理员小,故无法进行更新. 3.解决办法: 从项目根目录下找到.git 目录,该目录下有一个文件夹objects: 个人理解这些文件应该是记录了项目每次提交的信息,至于是怎么记录,差异

git在push的时候出现insufficient permission for adding an object错误

push git库,报错. 今天有同事找我,问我怎么回事,去看的时间,发现确实是 权限问题,git库的 所有者 为 nobody, [email protected]:/qualcomm/jenkins/r1528_ap/oe-core$ git push Counting objects: 10, done. Delta compression using up to 4 threads. Compressing objects: 100% (5/5), done. Writing objec

激光推送报错:APNs is not available,please check your provisioning profile and certification 和 设置别名问题

前几天,项目中用到了推送功能,就集成了激光,遇到了2个问题,就给大家分享一下, 第一个问题: 在集成的过程是按照激光的文档做的,但是最后配置完了,一运行,就打印出这么一句话, 最后发现,是描述证书( provisioning profile)没有加入Xcode中的原因, 解决办法:com+,  打开下面页面 添加描述证书, 最后点击 done 就行, 第二个问题: 一般正常的设置别名,是在用户登录成功后进行设置,但是我是由于先进行的测试,所以就干脆把设置别名的方法放在了,rootVC 中了,本以

SourceTree推送报错

我在用github的时候,新建了一个工程,将自己的代码放入工程时,突然,sourceTree不动了. 注意,这里就是说我  文件太大了,超出了上传限制.其实我这个Demo一共才9.0M. 在网上百度,得到的结果都是 http://lichen.blog.51cto.com/697816/1193189 就是  终端输入 git config http.postBuffer 524288000 或者.git/config中加入 [http] postBuffer = 524288000 我贴了一下

git推送代码Gogs报401错误

1.git push 报错:RPC failed; HTTP 401 curl 22 The requested URL returned error: 401 The remote end hung up 2.原因:用户名和密码输错,导致验证不通过,没有权限推送 3.解决: (1)删除原始远程数据源: git remote rm origin (2)重新添加远程数据源,即在http后面,git前面加上用户名@([email protected]): git remote add origin