我对github很新,并且我第一次尝试将它融入我的工作中。我在RStudo工作,使用gui中的提交和按钮。我把一些数据放在我正在处理的计算机上的文件夹中。我做了一些提交,然后我提交了这些数据,然后我再做了一些提交。然后我试着将整个事情推向github。但是,我收到一条错误消息:
remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: f4a84c3a176d2c77039d041a21c0c455
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File S_Fulltaxonomy.csv is 158.06 MB; this exceeds GitHub's file size limit of 100.00 MB
To git@github.com:moanam/paper.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@github.com:moanam/paper.git'
我的分支现在超过origin / master 10次提交,问题在中间某处提交。
我已经找到了解决方案,并找到了像这样的帖子 undo commit in middle of Git history, How to modify existing, unpushed commits? 和 How to remove a too large file in a commit when my branch is ahead of master by 5 commits
然而,对此的解决方案是一行代码,其中原始提问者应该用几个单词替换并在某处运行它。我真的很新,并且不知道在哪里运行所有这些代码,替换什么以及如何在我的工作中查找和更改问题提交。我该怎么做呢?或者是否有基于gui的版本撤消RStudio中的提交?或者有人可以解释一下如何使用代码吗?
我知道这可能是一个非常简单的问题,我很抱歉浪费你的时间。但是,我已经花了很长时间才看,并且找不到任何简单易用的东西!总是有太多的知识假设。谢谢你的帮助!
答案 0 :(得分:5)
我解决了这个问题。所以,对于其他任何人:
您可以从Git选项卡打开RStudio的命令行,然后转到More,然后转到Shell。
将所有文件备份到其他位置
输入git reset --hard origin/master
这将撤消所有提交并返回到您上次推送时的内容
将文件复制回工作目录(替换旧版本)并重新提交自此以后所做的所有更改。 确保不要复制rhistory文件,否则它将重做以前的所有提交。
答案 1 :(得分:1)
所以我想你在这里问了几个问题:
答案 2 :(得分:1)
有一种更简单的方法。
我不确定如何通过Rstudio进行操作,但是您可以改为执行此操作。
转到命令行->导航到项目目录
一次输入:
git reset HEAD〜
如果要撤消两次提交,请键入两次。
这将撤消上一次提交,但不会删除任何文件。因此,文件将全部重新出现在暂存菜单中。之后,重新提交而不使用大文件,然后再次推送,一切应该没问题。