我的本地存储库提交5个远程原点主站。回滚到远程原点/主站,但列出所有已更改的文件
我有一些大的文件,我误将它放在git中,我认为它会让这些文件变得混乱。
那么,如何重置到远程原点主?
而且,这样做,我只想得到所有的都是从我的本地回购与远程主不同的文件的列表之前,(所以我知道哪些文件进行编辑,一旦我回滚到远程主机)
我的本地存储库提交5个远程原点主站。回滚到远程原点/主站,但列出所有已更改的文件
我有一些大的文件,我误将它放在git中,我认为它会让这些文件变得混乱。
那么,如何重置到远程原点主?
而且,这样做,我只想得到所有的都是从我的本地回购与远程主不同的文件的列表之前,(所以我知道哪些文件进行编辑,一旦我回滚到远程主机)
这不完全是你问,但这似乎是一个很好的解决方案为您的问题:
我会签出提交大文件提交修改它和rebase主修订提交上的提交。
你可以得到不需要通过做
git rebase -i origin/master
犯了现在标记将添加的大容量文件的“E”要编辑的提交。保存并退出。现在,你将被提示去那个承诺,unstage大文件,然后
git rebase --continue
您现在应该有一个干净的历史,你应该能够推动。
希望这会有所帮助。
git diff --stat master..origin/master
会让你更改文件,git reset --hard origin/master
会让你回滚。如果你以前从来没有玩过重置游戏,并且如果你想要了解主控中的某些更改,最简单的方法是在当前主控提交git tag temp
上设置一个临时标记,以便在重置之后轻松找到它。稍后您可以删除它。
如果你只是想删除意外添加的文件,使用rebase
作为@adymitruk说。
你可以重置你的头指向什么起源/主人现在指向,也可以取得文件非挂台。现在您可以按照您想要的方式重新提交提交。无论是作为通过使用多个git的添加,git的承诺,或像下面,创建一个压扁提交不同的提交,没有大的内容之前添加:
$ git reset --mixed origin/master
$ rm -rf folder/with/large/files/
$ git add .
$ git commit -m "Squashed commits and removed unwanted large files"
以获取列表,你可以使用'git的差异 - stat master..origin/master' – 2011-05-31 16:25:40