我的本地存储库是远程源主服务器之前的5次提交。
我有大量文件,我误将其放入git中,而且我认为将这些文件弄得一团糟。
那么,如何重置为远程原点主控?
此外,在这之前,我想获得一个列表,列出与我的本地仓库不同的远程主机的所有文件(因此我知道在我回滚到远程主机后要编辑哪些文件)
答案 0 :(得分:1)
您可以通过执行
来获取不需要的提交git rebase -i origin/master
现在标记添加带有“e”的大文件进行编辑的提交。保存并退出。现在,系统将提示您转到该提交,取消暂存大文件,然后
git rebase --continue
你现在应该有一个干净的历史记录,你应该能够推动。
希望这有帮助。
答案 1 :(得分:1)
您可以将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"
答案 2 :(得分:0)
这不完全是你提出的要求,但这似乎是解决问题的好方法:
我会检查提交的提交,其中提交的大文件修改它,并修改提交的rebase master。
答案 3 :(得分:0)
git diff --stat master..origin/master
会为您提供已更改的文件,git reset --hard origin/master
会将您回滚。如果您以前从未玩过重置,并且您可能想要在master中进行某些更改,最简单的方法是在当前主提交git tag temp
上设置临时标记,这样您就可以轻松找到它重置后。稍后你可以删除它。
如果您只想删除意外添加的文件,请使用rebase
作为@adymitruk说。