在学习git的过程中,遇到如下问题,特整理如下:

1 error:src refspec master does not match any

问题产生

a git服务器使用如下命令新建一个项目

$ cd /opt/git
$ mkdir project.git
$ cd project.git
$ git --bare init

b 客户端clone代码并提交

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:/opt/git/project.git
$ git push origin master

c push报错

原因分析

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决办法

touch README
git add README 
git commit -m 'first commit'
git push origin master

2 fatal: unable to connect to eagain.net

问题产生

使用git clone 命令从 eagain.net 克隆gitosis.git源码出错

解决办法

git clone git://github.com/res0nat0r/gitosis.git

3 fatal:Interactive git shell is not enabled

问题产生

a 设置git用户登录shell

作为一个额外的防范措施,你可以用Git 自带的git-shell 简单工具来把git 用户的活动限制在仅与Git 相关。把它设为git 用户登入的shell,那么该用户就不能拥有主机正常的shell 访问权。为了实现这一点,需要指明用户的登入shell 是git-shell ,而不是bash 或者csh。你可能得编辑/etc/passwd 文件:

sudo vim /etc/passwd

找到git用户的信息,修改如下:

保存修改后,使用如下命令访问服务器

ssh git@gitserver

报错如下:

原因分析

按照提示,在git用户的主目录下面需要存在git-shell-commands目录

解决办法

在git用户的主目录下面新建git-shell-commands目录

参考链接

http://planzero.org/blog/2012/10/24/hosting_an_admin-friendly_git_server_with_git-shell

4 通过http协议clone出错

问题产生

在gitserver通过apache提供了git项目的公共访问地址,在克隆的时候报错如下:

解决办法

在git服务器上要提供的项目下面执行

git update-server-info

5  centos5.8下面安装gitweb的默认路径问题

问题产生

在centos下使用yum install gitweb 命令安装gitweb后找不到gitweb的默认安装路径

原因分析

网络上的说法默认路径是 /var/www/git ,但是在我的centos虚拟机中,安装完gitweb后,默认路径是/usr/share/gitweb

解决办法

由于按网上的说法,找不到gitweb的默认安装路径,我使用了find 命令,用来查找gitweb所在的目录

6 安装gitosis时使用python3.3.0执行python setup.py install 报错

问题产生

在安装gitosis的时候,需要预先安装工具包python-setuptools,安装命令比较简单

yum install python-setuptools

但是在clone了gitosis代码,执行python安装命令的时候报错,错误提示如下:

ImportError: No module named setuptools

原因分析

网上摘要 Your setup.py file needs setuptools. Many of the Python packages use distutils for the distribution, but some use setuptools, a more complete package. Here is a question about the differences between them.Regarding Python 3.3, you should install distribute instead. It is a more recent package that works in the same way as setuptools (it's even called setuptools internally).

链接地址:
http://stackoverflow.com/questions/14426491/python-3-importerror-no-module-named-setuptools

centos默认的python版本是2.4.3,因为一次机会我升级了python的版本到3.3.0,这样就出现了错误。

解决办法

我的办法是降低了python的版本,有兴趣的同学可以尝试安装distribute包,看能不能解决这个问题

7 git push origin master 到github出错

问题产生

本地项目添加了远程仓库,但是在推送代码到远程仓库的时候,报无法连接到远程服务器

原因分析

github和本地代码做推送和拉取时,需要用到ssh的密钥对进行数据加解密,由于github上新建的项目没有添加密钥,所以本地仓库连接不到远程仓库

解决办法

在github上为该项目添加公钥,推荐做法是不要单独为每个项目添加公钥,而是直接通过github帐号的ssh信息维护开发机的ssh公钥

Git 常见问题整理的更多相关文章

  1. 整理我的Git常见问题和命令

    整理我的Git常见问题和命令 目录 整理我的Git常见问题和命令 提交注释规范 合并分支 clone & 切换分支 支持中文路径显示 账户及密码 基于远程分支创建本地分支 提交注释规范 举例: ...

  2. Maven使用常见问题整理

    Maven使用常见问题整理  1.更新eclipse的classpath加入新依赖  1.在dependencyManagement里面加入包括版本在内的依赖信息,如:   <dependenc ...

  3. LoadRunner常见问题整理(转)

    首先要感谢群友的无私分享,才能得到这篇好的学习资料,整理得太好了,所以收藏保存,方便以后学习. 一:LoadRunner常见问题整理 1.LR 脚本为空的解决方法: 1.去掉ie设置中的第三方支持取消 ...

  4. [转]LoadRunner脚本录制常见问题整理

    LoadRunner脚本录制常见问题整理 1.LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面 ...

  5. Git 初学者使用指南及Git 资源整理

    Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...

  6. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

  7. [转帖]kubernetes 常见问题整理

    kubernetes 常见问题整理 https://www.cnblogs.com/qingfeng2010/p/10642408.html 使用kubectl 命令报错 报错: [root@k8s- ...

  8. Git 使用心得 & 常见问题整理

    开源Linux 回复"读书",挑选书籍资料~ Git 流程图 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remot ...

  9. 常用git命令整理

    花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf ...

随机推荐

  1. StackExchange.Redis--纯干货喂饱你

    Redis和StackExchange.Redis redis有多个数据库1.redis 中的每一个数据库,都由一个 redisDb 的结构存储.其中,redisDb.id 存储着 redis 数据库 ...

  2. 使用Spring Sleuth和Zipkin跟踪微服务

    随着微服务数量不断增长,需要跟踪一个请求从一个微服务到下一个微服务的传播过程, Spring Cloud Sleuth 正是解决这个问题,它在日志中引入唯一ID,以保证微服务调用之间的一致性,这样你就 ...

  3. php缓存技术(减少数据库服务器压力)

    静态缓存(保存在磁盘上的静态文件,用PHP生成数据放入静态文件中) a)  php操作缓存 i.  生成缓存 ii.  获取缓存 iii. 删除缓存 判断目录是否存在:is_dir() dirname ...

  4. Android开发自学笔记(Android Studio1.3.1)—2.开始第一个Android应用

    一.前言      使用Android Studio开发Android应用是一件非常简单的事情,因为它会帮你自动完成很多工作.本篇我们主要完成一个单击按钮在文本框显示当前时间的简单应用,借此来演示一下 ...

  5. 第七章 java基础类库

    1. 日期时间: 用Calendar类. 2. 分隔符:空格.tab.回车. 3. Scanner:读取键盘输入.读取文件. 4. 系统类: System  Runtime. 5. 所有的java类都 ...

  6. ORACLE数据泵使用详解

    来源于:http://blog.sina.com.cn/s/blog_490a0c990100wh4y.html http://blog.csdn.net/jojo52013145/article/d ...

  7. 转 ext文件系统及块组

    一.文件系统概述 1. 引导块 前文中介绍过磁盘需要进行分区和格式化,才能创建文件系统并使用,那么一块已经被各式化了分区其结构是什么样的呢?分区是按照柱面来划分的,而柱面包含的是磁道,磁道上包含的是扇 ...

  8. Ceph Zabbix plugin 插件和模板

    由于Ceph项目中的 Celemeter 缺乏告警功能和监控平台的统一性要求, YY 云平台Ceph集群的监控需求,都是在团队已有的zabbix平台基础上开发完成的. 在已有的git开源项目基础上做了 ...

  9. AOP 注入失败的问题

    启用了AOP 后,报这样的类似错误: Error creating bean with name 'bpmpSysUserService': Injection of autowired depend ...

  10. 表单提交中get和post方式的区别

    表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一 ...