Git_GitHub-使用过程遇到的问题——坑(持续添加)

push错误——>master

git push -u origin master

最后找到解决办法如下:
1、先删除远程 Git 仓库

$ git remote rm origin

2、再添加远程 Git 仓库

$ git remote add origin git@github.com:FBing/java-code-generator

如果执行 git remote rm origin 报错的话,我们可以手动修改gitconfig文件的内容

$ vi .git/config

 把 [remote “origin”] 那一行删掉就好了。

当然git和Linux有很大关联,在编辑上没有太大的差别,。

vim有两个模式:一个是编辑一个是命令。我们从命令进入编辑为:i,o,a。一般使用的是i:因为这个我是最熟悉的。退出点击esc键,就进入命令模式。

我们需要删除文件的当前行和后一行,命令为:2dd,一般我们使用的是单个字符的删除为:x。我们一般进入编辑模式,来进行添加,修改,删除。

但是当我们删除和修改的内容过多的时候,我们使用命令行模式,进行修改,这样方便,快捷,而命令行中,最常用到的是x,dd,u,p这四个命令:

x:删除当前字符;

dd:删除当前行;

u:恢复前一步操作;

p:复制之前删除的行。


vim是Linux终端下或控制台下常用的编辑器,基本的操作方式为:vi /路径/文件名

  例如,vi /etc/saikik表示显示/etc/saikik文件的内容。使用键盘上的Page Up和Page Down键可以上下翻页;按下Insert键,可以见到窗口左下角有“Insert”字样,表示当前为插入编辑状态,这时从键盘输入的内容将插入到光标位置;再按下Insert键,左下角将有“Replace”字样,表示当前为替换编辑状态,这时从键盘输入的内容将替换光标位置的内容。编辑完内容后,按下Esc键,并输入“:wq”,然后回车就可以保存退出。

  如果不想保存而直接退出,则按下Esc键后,输入“:q!”,然后回车即可。“wq”表示Write和Quit,即保存退出;“q!”表示忽略修改强行退出。

使用git命令提交远程github仓库的时候提示"rejected"(拒绝)解决办法

原址:https://www.cnblogs.com/jun1019/p/6243295.html

 今天使用在自己笔记本本地磁盘上使用Git命令行执行"git push"然后输入github的用户名和密码之后,报如下错误:

![rejected]  master->master(fetch first)  
error:failed to push some refs to 'https://github.com/xxx/xxx.git'

最后执行git pull,然后再执行push就可以了:

原因是:刚才在网站上改了README.md文件,添加了一些项目的说明,然后使用Git客户端再次提交的时候,需要先更新服务器上的变化,然后才能提交,也就是先更新再提交。

突破github的100M单个大文件上传限制

原文:https://blog.csdn.net/tyro_java/article/details/53440666 

偶尔把几本电子书传到github上,其中一本关于c++的有147M(在本地磁盘占用了150M空间),使用普通的方式,最终会被github 服务器拒绝。在github 官网上也有了相关说明,具体请查看:

https://help.github.com/articles/working-with-large-files/
https://help.github.com/articles/conditions-for-large-files/
简单的说,github 会在你上传文件大于50M的时候,给予警告 ; 大于100M的时候给出 server reject(拒绝上传)

解决方案
维持单个文件在100M以内,保持原仓库,剔除单个文件大于100M的
github 官方解决方案
网上他人解决方案1:http://www.jianshu.com/p/09a2d9db861c
网上他人解决方案2:http://www.codeinterpreter.com/2015/01/solving-this-exceeds-githubs-file-size.html
网上他人解决方案3 :http://jingpin.jikexueyuan.com/article/36116.html

突破github限制,支持单个文件超出100M (使用 Git LFS)
这也是无意中浏览解决问题的方案时看到的 有关Google Maps SDK的问题
这里给了我们一个很好的处理方案: Git LFS 全名为:Git Large File Storage
Git LFS的官方网址在这里: https://git-lfs.github.com/,官网上有很详细的说明,现在来简单说下使用方式:先安装 Git LFS 的客户端,然后在将要push的仓库里重新打开一个bash命令行:
只需设置1次 LFS : git lfs install
然后 跟踪一下你要push的大文件的文件或指定文件类型 git lfs track "*.pdf" , 当然还可以直接编辑.gitattributes文件
以上已经设置完毕, 其余的工作就是按照正常的 add , commit , push 流程就可以了 :

$git add yourLargeFile.pdf
$git commit -m "Add Large file"
$git push -u origin master

备注: 我在push那本c++书的时候一些小细节:
① 在最终push的时候会打印出如下信息:
Git LFS: (0 of 0 files, 1 skipped) 0 B / 0 B, 147.30 MB skipped
乍一看,表面上是跳过了该文件,但是回到github上查看,真的push上去了 ,commit信息为:
C++ Primer Plus 完整版 中文版 第六版 影印版 无目录 有页数.pdf Add a 150M pdf file 9 minutes ago ,
点击该文件查看,可看到:147 MB Stored with Git LFS
② 目前 Git LFS的总存储量为1G左右,超过需要付费。
③ 小伙伴们快来试试吧 !
其他知识点:

git 在线教程 (Pro Git 中文版

以上可能还会本地缓存区不够空间问题

原文:https://blog.csdn.net/zcmain/article/details/76855595 

在使用git推送项目时候出现 "fatal: The remote end hung up unexpectedly " 原因是推送的文件太大。

解决方案:

       在克隆/创建版本库生成的 .git目录下面修改生成的config文件增加如下:

[http]
postBuffer = 524288000
即修改提交缓存大小为500M

 

里的

  

 

重新推送即可。

原文地址:https://www.cnblogs.com/mofan2233/p/yuuigitbug.html