2013-05-17 67 views
0

我有一個私人倉庫,在Github上有一個提交 - 專門用於Rails項目。我的模式文件隨遷移一起更改,同事開發人員希望我從提交(和專用回購)中刪除模式更改。我想我已經想通了,但它似乎並不堅持,我做錯了什麼?從提交中的一個文件中刪除更改

git reset 'HEAD^1' db/schema.rb 
git commit --amend -v 
git push origin <branch-name> -f 

回答

1

它看起來像你沒有舞臺做復位後,做承諾之前db/schema.rb所做的更改。因此,在執行git reset 'HEAD^1' db/schema.rb之後,將文件與git add db/schema.rb分開,然後執行提交。

或者,您可以使用git reset --soft head^而不是git reset head^將文件重置爲之前的狀態並將其保持在索引中。後者使用--mixed標誌默認情況下,它不會階段改變的狀態,而前者會。

你可以閱讀更多關於git reset標誌in the documentation

--soft 

不觸及索引文件,也沒有在所有的工作樹(但重置 的頭,就像所有的模式做)。這會使所有 更改文件「更改爲提交」,因爲git狀態會將其放入 它。

--mixed 

重置索引而不是工作樹(即更改的文件 保留,但不標記爲提交)和報告一直沒有什麼 更新。這是默認操作。

+0

我最終使用'git checkout'HEAD ^'db/schema.rb',但是!我確實需要添加文件。不知道我是如何錯過的。謝謝! – Kristian

相關問題