一、小白刚开始使用github的commit和push功能的时候肯定出现了,Push rejected: Push master to origin/master was rejected by remote

这一类的错误,我们可以逐步的排出,a、首先是看自己的github远端的权限是否未开放,这种适用于团队或者小组开发的时候使用,如果你设置的是private类型的项目

只要你通过token或者账号连接了github,那么正常来看肯定是可以push到远端的。为什么push不成功呢?首先检查一下当前项目下你是否新建了空的文件夹,如果新建的文件夹里面

没有文件,你在push的时候也会rejected因为目录与remote也就是github上不匹配,如果没有这个问题,你可以尝试一下创建一个新的空.md文件,然后传输,

这种情况下肯定是能成功上传的,那么说明此前push rejected失败的原因只有一个那就是你传输的大文件,超过一定容量了,根据网上的介绍貌似是100MB,是不是限制100mb我不保证

但是肯定是大文件的问题,这个时候要做的就是通过Git LFS组件,该组件是专门为github传输大文件设置的,相当于是一个中转站。

二、Git LFS使用方法如下:

  1. 首先是安装的注意事项: 安装 Git LFS 需要 Git 的版本不低于 1.8.5
  2. 使用搜索引擎搜索git lfs,可以找打该组件的官方网站,该组件在github上维护,偷懒的话可以直接用连接:https://github.com/git-lfs/git-lfs/
  3. 根据官网的步骤去下载,mac用户也可以直接使用命令brew install git-lfs,前提是安装了homebrew,homebrew安装的注意事项可以参考我的另一个博客https://monkeyzhaohaihong.blog.csdn.net/article/details/113588859。mac下homebrew的安装命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"。也可以搜索homebrew去官网复制最新的下载命令
  4. 下载git-lfs服务后需要配置,通过命令,执行下面的命令后你会看到git lfs initialized,也就是配置完成了,后续都可以直接使用lfs模块,注意你电脑首先得需要安装了git。
    git lfs install 
  5. 使用 git lfs track 命令进行大文件追踪 例如git lfs track "*.png" 追踪所有后缀为png的文件,也可以是其他类型的文件,建议追踪文件的时候需要进入到你所要push的github项目的电脑文件夹内,或者是在项目文件夹内打开终端或命令行,下面给出pycharm下通过git lfs同步大文件的操作步骤,我在pycharm下的Terminal中输入git lfs track " *.csv " 意思是追踪所有的.csv文件,当然也可以指定,我可以写git lfs track "wikipedia.csv",那么这就是仅仅追中wikipedia.csv文件的上传,只有执行这个命令,用lfs跟踪才能使得Wikipedia数据集能够顺利上传(数据集本身500Mb以上),注意在commit的时候因为配置类lfs追踪,因此会有一个隐藏文件.gitattributes,它保存了文件的追踪记录,这个文件也必须上传,否则也会导致传输大文件失败。                                                                                                                                                                                                                                                                                                              
  6. 也就是你要上传哪一些大文件,你就用lfs追踪哪一个或哪一类文件 git lfs track "你要追踪的文件或文件类型
  7. 提交后运行git lfs ls-files 可以显示当前跟踪的文件列表
  8. 将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示:
  9. clone 时 使用'git clone' 或 git lfs clone均可,意思是当你对远端配置了lfs之后,其余的设备去同步或者clone该项目会自动维护这一些大文件的追踪

三、其次就是在配置pycharm的github的时候出现的一些问题,有时候可能会突然出现pycharm github 401 unauthorized,这个是你在pycharm中登陆github中出现的问题,

意思是你没有权限登陆,解决方式 在你的github账户中复制或者生成一个新的token,在pycharm中使用token去登陆。具体操作可以百度一下,很简单的(其实是懒,不好意思QAQ)

四、以上就是目前总结的github使用的相关经验,如有不对敬请指正

五、对了,当clone后的文件push出现除上述错误外的错误的时候,建议将当期项目备份然后删除,重新从github上clone即可,类似于 万难皆可重启,重启解决万难

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐