问题描述
||
我的本地存储库比远程源主机高5个提交。
我有大文件,我误把它放在git中,我认为弄乱这些文件是一团糟。
那么,如何重置为远程原始主机?
另外,在此之前,我只想获取与本地存储库和远程主数据库不同的所有文件的列表(因此,当我回滚到远程主数据库时,我知道要编辑哪些文件)
解决方法
您可以通过执行以下操作来删除不需要的提交
git rebase -i origin/master
现在,将添加大文件的提交标记为\“ e \”以进行编辑。保存并退出。现在,系统将提示您转到该提交,取消暂存大文件,然后
git rebase --continue
您现在应该拥有可以推送的干净历史记录。
希望这可以帮助。
, 您可以将HEAD重置为指向原点/原点当前所指的位置,也可以使文件暂存。现在,您可以按照自己的方式重做提交。通过使用多个git add或git commit作为单独的提交,或者像下面这样,创建一个压缩的提交,而无需添加以前添加的大内容:
$ git reset --mixed origin/master
$ rm -rf folder/with/large/files/
$ git add .
$ git commit -m \"Squashed commits and removed unwanted large files\"
, 这并不是您所要的,但这似乎是解决您的问题的好方法:
我将检出提交所在的提交,对提交的大文件进行修改,并根据修改后的提交对主文件进行重新设置。
, git diff --stat master..origin/master
将获取已更改的文件,git reset --hard origin/master
将使您回退。如果您以前从未玩过重置,并且如果您想在master上进行一些更改,那么在当前的master提交上设置一个临时标签最简单的方法是git tag temp
,因此您可以在重置后轻松找到它。以后您可以删除它。
如果只想删除意外添加的文件,请按@adymitruk所述使用use6ѭ。