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:// ...
随机推荐
- Spring Data JPA中CrudRepository与JpaRepository的不同
使用Spring Data JPA CrudRepository 和JpaRepository 的好处: 继承这些接口,可以使Spring找到自定义的数据库操作接口,并生成代理类,后续可以注入到Spr ...
- Java多线程,线程交替执行
两个线程,一个打印1-100的奇数,一个打印1-100的偶数:要求:线程1打印5个之后,线程2开始打印,线程2打印5个之后,线程1再开始打印,以此循环. Code: package com.qhong ...
- 【转载】Java关键字之"transient"
原文出处:http://blog.csdn.net/lanxuezaipiao/article/details/16358677 transient的作用及使用方法 我们都知道一个对象只要实现了Ser ...
- PHP+MySql+jQuery实现的“顶”和“踩”投票功能
index.html <!DOCTYPE HTML><html><head><meta charset="utf-8"><ti ...
- Java IO流-随机访问流
2017-11-05 19:45:51 RandomAccessFile类(随机访问流) RandomAccessFile类:是Object的子类,此类的实例支持对随机访问文件的读取和写入.随机访问文 ...
- VNC Viewer连接Cent OS 时的 复制粘帖 功能
虽然 VNC Viewer 比起 vsphere Client 来, 感觉性能差一点. 但毕竟也是个选择. 找了一下 它的这个 功能. 运行一下 vncconfig & 就可以了. 实测好用. ...
- MVVM特点、源(数据)与目标(如:控件等)的映射
数据(源,viewMode表示)与控件(目标)的完全映射, 在绑定之后,通过操作数据,改变控件显示效果.显示内容.状态等.
- ActiveStorage Overview --Rails guide (history:7-1更新)
如何attach一个或多个文件到一个记录.has_many_attach()方法. 如何删除一个附加的文件. purge方法 如何连接到一个附加的文件.url_for() 如何使用variants来转 ...
- Hive之基本操作
1,CREATE table. CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col ...
- STL中的map
map 容器 提供 1 对 1 的关系 定义方式: map<string,int>mp; 写在前面的是关键字. 数据插入: 1.使用 insert 插入 pair 数据 mp.insert ...