2014-05-19 59 views
1

我犯了一些文件,並試圖將它們推送到遠程reop。 但是,我在列表中找到一個大視頻文件並終止了推送。 然後我試圖從列表中刪除文件並再次推送。如何停止推送刪除的文件到遠程回購?

$git commit -m "comments" -a 
$git push origin my_branch 
... # I found mp4 file here and terminated push 
$git rm --cached path/to/mp4 
$git commit -m "comments" -a 
$git push origin my_branch 

問題
混帳仍試圖將MP4文件推送到回購。

問題 如何避免刪除的文件推送到遠程回購?

PS
我也試過git rm path/to/mp4,文件已經從我的目錄,但混帳刪除仍然試圖推動該文件以回購

+0

做一個git checkout使用git rm刪除文件並再次推送文件。這將確保刪除該文件。 –

回答

1

從它看起來像視頻文件的命令仍然在提交歷史。

假設您沒有提交其他提交,請嘗試以下操作。如果你只是調整了一下。

嘗試恢復到先前提交

git reset --soft HEAD~1 

然後做git的地位,看看你是否看到該文件

如果你這樣做。然後將其刪除,並與

git commit -c ORIG_HEAD 
+0

謝謝,在我嘗試解決方案之前,我是否可以知道解決方案將回滾我的更改? – user001

+0

重置 - 在您提交之前,軟件不應該滾動任何東西。它會將您返回到提交之前的狀態。所有該提交中的更改將顯示在暫存區域中。 – Bachmann

+0

如果你不確定只是初始化另一個文件夾中的git回購和實驗。 或者建立一個新的分支並嘗試那裏的命令。即使出現問題,reflog也是你的朋友 – Bachmann

1

再犯如果歷史不只是一個承諾更大,MP4的大型文件中老年犯了版本,你可以考慮清理你的回購的歷史與:

按照與git gc --aggressive --prune=now(如explained here

要「回滾」,只是嘗試在當前的本地回購的本地克隆這些操作是清理(所以第二本地回購,第一個克隆)。如果最終結果不好,您可以在第一個(未觸及的)回購中恢復。