2011-05-31 54 views
1

我的本地存儲庫提交5個遠程原點主站。回滾到遠程原點/主站,但列出所有已更改的文件

我有一些大的文件,我誤將它放在git中,我認爲它會讓這些文件變得混亂。

那麼,如何重置到遠程原點主?

而且,這樣做,我只想得到所有的都是從我的本地回購與遠程主不同的文件的列表之前,(所以我知道哪些文件進行編輯,一旦我回滾到遠程主機)

+1

以獲取列表,你可以使用'git的差異 - stat master..origin/master' – 2011-05-31 16:25:40

回答

0

這不完全是你問,但這似乎是一個很好的解決方案爲您的問題:

我會簽出提交大文件提交修改它和rebase主修訂提交上的提交。

1

你可以得到不需要通過做

git rebase -i origin/master 

犯了現在標記將添加的大容量文件的「E」要編輯的提交。保存並退出。現在,你將被提示去那個承諾,unstage大文件,然後

git rebase --continue 

您現在應該有一個乾淨的歷史,你應該能夠推動。

希望這會有所幫助。

0

git diff --stat master..origin/master會讓你更改文件,git reset --hard origin/master會讓你回滾。如果你以前從來沒有玩過重置遊戲,並且如果你想要了解主控中的某些更改,最簡單的方法是在當前主控提交git tag temp上設置一個臨時標記,以便在重置之後輕鬆找到它。稍後您可以刪除它。

如果你只是想刪除意外添加的文件,使用rebase作爲@adymitruk說。

1

你可以重置你的頭指向什麼起源/主人現在指向,也可以取得文件非掛臺。現在您可以按照您想要的方式重新提交提交。無論是作爲通過使用多個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" 
相關問題