本地(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的更多相关文章

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

    前言:这是在用jenkins去gitlab上面去拉下代码来编译,就报了这个错,在这里记录下,避免下次 报错:   17:08:17 error: insufficient permission for ...

  2. 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 ...

  3. 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 ...

  4. git 权限问题:insufficient permission for adding an object to repository database .git

    在git pull 的时候报错:insufficient permission for adding an object to repository database .git (去仓库里的objec ...

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

    在本地搭建Git服务器后,在开发机上push新代码,发现Git提示: insufficient permission for adding an object to repository databa ...

  6. [Git] 解决 insufficient permission for adding an object to repository database

    [环境] OS: CentOS 6.5 Git: 1.7.1 [症状描述] Git 中心仓库路径 ~/project.git,克隆库路径 ~/project.clone,克隆库中包含一个文件 ~/pr ...

  7. git push不成功 insufficient permission for adding an object to repository database

    这常见于多用户. 1. 确保所有用户在同一个组: 2. 确保所有文件被组可读写. 当多个用户各自进行了push操作后,object目录下的文件可能各自属于各个用户.

  8. iOS 消息推送报错NSCocoaErrorDomain Code=3000

    转自: http://www.cnblogs.com/zxykit/p/5207498.html Xcode7推送报错.Error Domain=NSCocoaErrorDomain Code=300 ...

  9. SpringMVC整合极光推送报错ClassNotFound

    问题: 今天在做后台和极光整合的过程中,将极光部分代码整合到Dao层,在启动项目的过程中总是报错,classNotFund cn/jpush/api/push/xxxx 极光官方文档: http:// ...

随机推荐

  1. CEF3开发者系列之CefEnableHighDPISupport详解

    在CEF3中,CefEnableHighDPISupport()这个接口函数在使用时一般不为人所注意,但是如果稍有不慎,会造成打开的网页不能填满窗口的问题.如果是需要flash插件才能运行的游戏.则会 ...

  2. POJ 3422 Kaka's Matrix Travels(拆点+最大费用流)题解

    题意:小A从左上角走到右下角,每个格子都有一个价值,经过这个格子就把价值拿走,每次只能往下或往右走,问你走k次最多能拿多少价值的东西. 思路:这里有一个限制条件就是经过之后要把东西拿走,也就是每一格的 ...

  3. Docker 安装&基本操作

    Docker 安装 Docker 中的三个概念:镜像,容器,仓库 镜像(image):Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器.Docker 提供了一个很简单的机制来 ...

  4. 数据结构与算法(python版)教程

    算法的性质 算法的描述 算法的设计与分析

  5. 【安全测试】Web应用安全之XSS跨站脚本攻击漏洞

    前言 以前都只是在各类文档中见到过XSS,也进行过相关的学习,但是都是一知半解,过了一段时间就忘了. 前几天我们收到了了一份标题为<XX账号昵称参数中存在存储XSS漏洞>的报告文档,来源是 ...

  6. php多站点配置以及Forbidden You don't have permission to access / on this server问题解决

    php多站点配置以及Forbidden You don't have permission to access / on this server问题解决 一.总结 一句话总结:我的问题是php的版本问 ...

  7. @ResponseBody和@ResponseEntity注解

    如果需要返回json格式的数据,那么添加该注解就行了@ResponseBody对于ResponseEntity确切的说是ResponseEntity ,如果你即需要返回数据,又需要确定数据的状态,就用 ...

  8. 使用AspNetPager进行分页,查询条件丢失问题

    在Asp.Net中使用AspNetPager进行分页时,发现一个问题: 当通过查询条件进行查询后,对查询结果进行翻页操作时,查询条件会丢失. 当修改UrlPaging属性后(设置UrlPaging=“ ...

  9. 数据库使用B+树原理

    转载:http://zhuanlan.51cto.com/art/201808/582078.htm https://www.cnblogs.com/vincently/p/4526560.html( ...

  10. spring boot与spring mvc的区别

    Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 aop ,解决了面向横切面 ...