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:// ... 
随机推荐
- SQL学习笔记七之MySQL视图、触发器、事务、存储过程、函数
			阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 一 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名 ... 
- JS实现弹出层效果
			很多时候我们想去某某网站干点什么的时候,就会让我们先注册登录后才可以访问内容,而现在很多网站注册登录的时候都会有一种遮罩层的效果,就是背景是带有透明度的黑色遮罩,盖满整个网站,然后登录框弹出固定在屏幕 ... 
- Vim 的光标移动定位
			一.光标移动以单个字符为单位: 在命令模式中 h向左 l 向右 j 向上 k 向下 二.光标移动以word 为单位: w 将光标向前移动一个word; b 将光标向后移动一个word: 以上2个命令光 ... 
- CentOS7.2 安装Redis3.2.8
			Redis3.2.8 下载 下载Redis3.2.8.tar.gz 将文件放置在usr/local/redis/中 解压文件 安装: make && make install [roo ... 
- IPv4数据报格式
			网络层的分组为数据报,数据报为首部和数据两部分组成,如下图所示. 首部的长度是以4个字节为单位,长度可以是20-60字节,这跟首部的HLEN字段有关. 版本: 这个4位字段定义了IP协议的版本,目前主 ... 
- VuePress从零开始搭建自己的博客
			VuePress是什么? VuePress是以Vue驱动的静态网站生成器,是一个由Vue.Vue Router和webpack驱动的单页应用.在VuePress中,你可以使用Markdown编写文档, ... 
- Android中的代理模式
			代理的概念:为某个对象提供一个代理,以控制对这个对象的访问. 代理类和委托类有共同的父类或父接口,这样在任何使用委托类对象的地方都可以用代理对象替代.代理类负责请求的预处理.过滤.将请求分派给委托类处 ... 
- hdu3549网络流之最大流
			Ford-Fulkerson方法:dfs实现 dfs 140ms #include<map> #include<set> #include<cmath> #inc ... 
- UVA-1149 Bin Packing (贪心)
			题目大意:给定n个物品的重量,无限个容量为m的箱子,每个箱子最多装两个物品,要把所有的物品都装下,最少需要多少个箱子. 题目分析:贪心策略:每次将最重和最轻的两个物品放到一个箱子里,如果装不下,则将最 ... 
- 出错的sql
			alter table m_account AUTO_INCREMENT=200029860; 
