git初次提交代码到coding出现错误处理方法

git的安装与配置请详细阅读:http://blog.csdn.net/renfufei/article/details/41647875

有Git安装配置与TortoiseGit安装与配置  (git是命令用的多,TortoiseGit有图形化界面)

原文地址:http://www.open-open.com/lib/view/open1366080269265.html

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

1 error:src refspec master does not match any

问题产生

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

?
1
2
3
4
cd /opt/git
mkdir project.git
cd project.git
$ git --bare init
b 客户端clone代码并提交
?
1
2
3
4
5
6
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报错 

Git 常见问题整理

原因分析

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

解决办法

?
1
2
3
4
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源码出错

解决办法

?
1
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 文件:

?
1
sudo vim  /etc/passwd

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

Git 常见问题整理

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

?
1
ssh git@gitserver

报错如下:

Git 常见问题整理

原因分析

按照提示,在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服务器上要提供的项目下面执行

?
1
git update-server-info

 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,安装命令比较简单

?
1
yum  install python-setuptools

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

ImportError: No module named setuptools

原因分析

?
1
2
3
4
<span>网上摘要 < /span >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公钥



错误总结:来自:http://jingyan.baidu.com/album/f3e34a12a25bc8f5ea65354a.html?picindex=2

在使用git 对源代码进行push到gitHub时可能会出错,  错误代码:

hint: Updates were rejected because the tip of your current branch is behin
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

信息如下


此时很多人会尝试下面的命令把当前分支代码上传到master分支上。

$ git push -u origin master

但依然没能解决问题


出现错误的主要原因是github中的README.md文件不在本地代码目录中


可以通过如下命令进行代码合并【注:pull=fetch+merge]

git pull --rebase origin master


执行上面代码后可以看到本地代码库中多了README.md文件


此时再执行语句 git push -u origin master即可完成代码上传到github


整理的前辈的经验,把笔记记下来。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提交代码到仓库的步骤如下: 1. 切换到要提交的分支,比如dev分支:`git checkout dev` \[1\] 2. 将修改的文件添加到缓存区:`git add .` \[1\] 3. 提交到版本库,并添加提交信息:`git commit -m '提交'` \[1\] 4. 将本地分支提交到远程仓库的对应分支,比如将dev分支提交到远程的dev分支:`git push origin dev` \[1\] 如果是第一次提交代码,需要先将本地仓库与远程仓库关联起来,可以使用以下命令: `git remote add origin 远程仓库地址` \[2\] 如果需要创建新的分支并提交代码,可以按照以下步骤进行: 1. 创建新的分支,比如dev分支:`git branch dev` \[3\] 2. 切换到dev分支:`git checkout dev` \[3\] 3. 提交修改到版本库,并添加提交信息:`git commit -m 'dev分支更改'` \[3\] 4. 将本地dev分支提交到远程的master分支:`git push origin dev` \[3\] 总结起来,提交代码到仓库的步骤包括切换分支、添加修改到缓存区、提交到版本库、将本地分支提交到远程仓库。 #### 引用[.reference_title] - *1* *2* *3* [Git提交代码仓库的两种方式](https://blog.csdn.net/weixin_52437323/article/details/130163535)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值