github 报错

github 报错:

1 error:src refspec master does not match any
这个问题,我之前也遇到过,这次又遇到了只是时间间隔比较长了,为了防止以后再遇到类似问题,还是把这个方法简单记录在此。

当然,是通过搜索引擎找到的答案,开始用谷歌,我以为stackoverflow会很权威的,结果在这上面没有找到合适的。

http://stackoverflow.com/questions/21264738/error-src-refspec-master-does-not-match-any
反倒是换用百度输入,查看中文的东西才解决了这个问题。

问题产生

原因分析

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

解决方法

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

来自:http://www.open-open.com/lib/view/open1366080269265.html
实际上

 git init

这一步之后创建了一个名为.git的文件夹,不过它在默认状态下是隐藏的,系统将隐藏文件夹显示出来,可以看到有这样一个文件夹。
github上传项目方法:
http://www.oschina.net/question/159132_86728
在你的电脑上装好git

大致流程是:

1、在github上创建项目

2、使用git clone https://github.com/xxxxxxx/xxxxx.git克隆到本地

3、编辑项目

4、git add . (将改动添加到暂存区)

5、git commit -m "提交说明"

6、git push origin master   将本地更改推送到远程master分支。

这样你就完成了向远程仓库的推送。

如果在github的remote上已经有了文件,会出现错误。此时应当先pull一下,即:

git pull origin master

然后再进行:

git push origin master



Git命令去clone Gitlab仓库的代码时,第一次弹框提示输入账号密码的时候输错了,然后后面就一直拒绝,不再重复提示输入账号密码,怎么破?

删除git中缓存的用户名和密码

git报错信息

运行一下命令缓存输入的用户名和密码:

git config --global credential.helper wincred

清除掉缓存在git中的用户名和密码

git credential-manager uninstall


GitHub 取消文件限制

Git config http.postBuffer 524288000

之前git中的配置是没有这一项的,执行完以上语句后输入git config -l可以看到配置项的最下面多出了一行我们刚刚配置的内容. (52428000=500×1024×1024,即500M)
之前git中的配置是没有这一项的,执行完以上语句后输入

git config -l
 

笔者我是在github上做了一个开源库(一个灵活配置的自定义相机库(拍照+录制视频))从而录制了一个大概200M+的gif文件,在commit完成了,push的时候 总是报错,大致信息如下:

remote: Resolving deltas: 100% (472/472), done.
remote: error: GH001: Large files detected. 
You may want to try Git Large File Storage - https://git-lfs.github.com.

Total 3007 (delta 664), reused 0 (delta 0)
remote: error: GH001: Large files detected.
remote: error: Trace: 7b7de6b9372ee392e0f3961b05ea6f33
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File  XXX/XXX/XXX is 234 MB; this exceeds GitHub‘s file size limit of 100.00 MB
remote: error: File  XXX/XXX/XXX is 234 MB; this exceeds GitHub‘s file size limit of 100.00 MB。

上面错误的原因很好理解就是GitHub不允许直接上传大文件(超过100M)的文件到远程仓库,若要想继续提交可以尝试使用大文件支持库:https://git-lfs.github.com
LFS使用的简单步骤:

  • 安装git - lfs到本机


     
    install.png

    我使用的mac,这里有三种安装方式,按自己的习惯来,我用的是Homebrew方式安装。

  1. 安装Git命令行扩展。只需要设置一次Git LFS。
    在项目目录下,执行以下命令:
git lfs install
  1. 选择您希望Git LFS管理的文件类型(或直接编辑.gitattributes)。您可以随时配置其他文件扩展名。这一步成功后会生成一个gitattributes文件
git lfs track “* .gif” --这里的 “ *.gif "就是你要上传的大文件的路径
  1. 添加并commit gitattributes文件
git add .gitattributes
  1. 然后再添加大文件到本地缓存区
git add demo.gif
git commit -m "提交项目演示gif图"
git push 

这里要注意一点:以上是官网步骤,我没这样走。如果你按照以上步骤走的话会还是会出现push fail(如下图)的情况,可参考我的解决办法。

 
image.png

参考解决办法:

1-2步没变,第3步我是生成.gitattributes后 add并且commit并且把.gitattributes文件push到远程分支,合并完成后,然后再add并且commit然后再push这个大文件.

简单说,就是我先把这个.gitattributes跟踪文件提交上传到远程,再把大文件提交并上传到远程的,这个要注意顺序。

有的同学已经把大文件提交了,但是.gitattributes还没有提交,这种情况需要回滚版本,具体操作可以参考廖雪峰 - 版本回退


Git LFS(大文件传输)——(含配置环境变量)

Git是一个共享工程的一个软件
1.Git下载地址: https://www.git-scm.com/download/

2.安装完,打开其中的 Git Bash

3.会跳出命令窗口

用 git config  --global user.name "xxxxxx"  和 git config  --global user.email "xxxxxx"  配置自己git的用户名和邮箱

  4.这里可以新建项目了    

     -cd 是进入这个路径     mkdir是创建这个文件夹    pwd是生成路径的git项目 

.

Git lfs是Git用来传大型文件的
5.下载Git的桌面管理软件

https://tortoisegit.org/download/

6.Git 现在版本都自带lfs

所以在git bash中使用  git lfs install

安装lfs

7.配置环境变量
配置环境变量   

我的电脑 –> 右键-属性 –> 高级系统设置 –> 高级-环境变量 –> 新建

8.克隆过程
1.新建空文件夹

2.在空文件夹下-鼠标右键 –> Git克隆(Git Clone) –> 填写URL(硬盘路径或网上的克隆路径都可以) –>勾选LFS–> 点“OK”

主要原因是安全设置的问题:

首先执行git config http.sslVerify "false"   若出现下列错误   

git config http.sslVerify "false"  fatal: not in a git directory  

再继续执行   git config  --globle   http.sslVerify "false"   问题解决




附加git官网: https://git-scm.com/





原文地址:https://www.cnblogs.com/qqhewei/p/13386589.html