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),并让git仓库有执行权限:
cd ..
chgrp git ms-util.git -R
chown git ms-util.git
chmod ms-util.git
搞完上面这两步后用ll命令看到的应该是这样的:
drwxrwxr-x git git Mar : ms-util.git
搞完服务端接着搞本地客户端,打开本地windows下的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仓库了。但此时我们本地配置的远程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)
从上面命令结果看,该远程url没有加入用户,我们自己加(还记得上面我们设置的用户git吗?)。重新关联服务端git之前,先把老的url删掉
git remote rm origin
git remote add origin git@111.11.111.11:ms-util.git
这样第一步就结束了,第二步的问题也就来了:
$ git push -u origin master
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), 3.48 KiB | 891.00 KiB/s, done.
Total (delta ), reused (delta )
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 ms-util.git
它们少了一个参数-R,导致ms-util.git里的用户和权限不对,自然无法在客户端push时写入服务端了。解决办法也很简单:进入linux下git目录
chown -R git ms-util.git
chmod -R ms-util.git
这时再回到windows下用git bash就可以push了:
git push -u origin master
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), 3.48 KiB | 891.00 KiB/s, done.
Total (delta ), reused (delta )
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的更多相关文章
- jenkins报错: error: insufficient permission for adding an object to repository database .git/objects
前言:这是在用jenkins去gitlab上面去拉下代码来编译,就报了这个错,在这里记录下,避免下次 报错: 17:08:17 error: insufficient permission for ...
- git 报错 error: insufficient permission for adding an object to repository database ./objects
参照:http://stackoverflow.com/questions/1918524/error-pushing-to-github-insufficient-permission-for-ad ...
- git push error:error: insufficient permission for adding an object to repository database ./object解决
在服务器代码库xxx.git文件夹中:1.sudo chmod -R g+ws *2.sudo chgrp -R mygroup * //mygroup是该文件夹的所有组3.git repo-conf ...
- git 权限问题:insufficient permission for adding an object to repository database .git
在git pull 的时候报错:insufficient permission for adding an object to repository database .git (去仓库里的objec ...
- Git报错:insufficient permission for adding an object to repository database .git/objects
在本地搭建Git服务器后,在开发机上push新代码,发现Git提示: insufficient permission for adding an object to repository databa ...
- [Git] 解决 insufficient permission for adding an object to repository database
[环境] OS: CentOS 6.5 Git: 1.7.1 [症状描述] Git 中心仓库路径 ~/project.git,克隆库路径 ~/project.clone,克隆库中包含一个文件 ~/pr ...
- git push不成功 insufficient permission for adding an object to repository database
这常见于多用户. 1. 确保所有用户在同一个组: 2. 确保所有文件被组可读写. 当多个用户各自进行了push操作后,object目录下的文件可能各自属于各个用户.
- iOS 消息推送报错NSCocoaErrorDomain Code=3000
转自: http://www.cnblogs.com/zxykit/p/5207498.html Xcode7推送报错.Error Domain=NSCocoaErrorDomain Code=300 ...
- SpringMVC整合极光推送报错ClassNotFound
问题: 今天在做后台和极光整合的过程中,将极光部分代码整合到Dao层,在启动项目的过程中总是报错,classNotFund cn/jpush/api/push/xxxx 极光官方文档: http:// ...
随机推荐
- php 用户向微信发送信息
1:制作微信菜单栏 <?phpheader("Content-type: text/html; charset=utf-8");function request_post($ ...
- 【bzoj5170】Fable(树状数组)
题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=5170 我们会发现,经过一轮冒泡后,若a[i]的前面有比它大的数,就一定会有一个被丢到后 ...
- Ubuntu 14.04安装gnuplot 解决Terminal type set to 'unknown'问题 简易命令教程
参考: 照猫画虎学gnuplot之折线图 gnuplot 入门教程 1 gnuplot安装,及error:terminal type set to 'unknown'的解决 安装 sudo apt-g ...
- LA 4253 箭术(二分枚举)
https://vjudge.net/problem/UVALive-4253 题意: 有n个平行于x轴的线段,每条线段代表一个靶子.判断是否可以站在x轴上[0,W]区间内的某个位置射箭. 思路:二分 ...
- BZOJ4811 [Ynoi2017]由乃的OJ
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- .net core开发 (一)
1..net core: 是微软开发的另外一个可以跨平台的.net 2..net framework,.net core, mono的关系三者都是.net在不同操作系统的实现 3. .net core ...
- jquery.validate验证表单
添加引用 <script src="/${appName}/commons/js/validate/jquery.validate.min.js"></scrip ...
- Apereo CAS - 1
1. download cas 4.2.2 from https://github.com/apereo/cas/releases 2. eclipse import cas 4.2.2 eclip ...
- hdu3032sg打表找规律
先打个表冷静一下 #include<map> #include<set> #include<cmath> #include<queue> #includ ...
- javascript垃圾收集
javascript具有自动垃圾收集机制,也就是说,执行环境会负责管理代码执行过程中使用的内存.而在C和C++之类的语言中,开发人员的一项基本任务就是手工跟踪内存的使用情况 ,这是造成许多问题的一个根 ...