2014-08-27 80 views
0

我有一個分支從頭部分離,在我的回購中,我添加了文件夾下的不同文件的同名文件夾。每當我想提交一些東西時,我都會手動刪除存儲庫中的文件夾,然後添加一個新名稱,但名稱相同,但內容不同,稍後我會提交併推送。問題是,當我檢出我過去的提交時,我看到該文件夾​​,它包含來自所選提交和過去提交的內容,但我希望僅從該具體提交中看到內容。所以,我想問是否有可能這樣做,我應該如何實現這一目標?也許我應該使用某種類型的git命令從我的回購庫中刪除這些文件? (但如果它是真的,我想確保最後提交的文件不會丟失)。git checkout只有那些在具體提交期間提交的文件

回答

1

每次提交之前,您還應該從跟蹤文件中刪除目錄中的所有文件,其中包括git保留跟蹤,執行git rm your_directory

如果你不這樣做,混帳會記得,你還有其他的文件到以前的承諾,將剛剛添加的差異,不刪除不存在新提交的文件。

所以你需要告訴git你正在刪除的文件,並剛剛添加新文件後git add your_directory,新副本後的新目錄。

這樣混帳會:

  • 明白,它必須刪除舊的文件/目錄
  • 添加新的文件/目錄

你必須做同樣的你在「文件系統級」上手動執行的操作,並在「git級」上執行。

讓我知道如果這就是你想要做的! 如果這工作!

0

看起來你想看到一個提交而不會暴露它的完整歷史。我認爲最好的辦法是使用孤立分支。

你做 -

git --orphan <new_branch> 

這將切換到一個新的分支,它是乾淨的,那麼你就可以檢出到你想要的承諾,然後這將是父承諾,而連接到它的任何歷史。

+0

這樣,他不會得到他想要的每一個提交的新分支?或者這樣,* OP的目錄副本*的所有提交仍將駐留在同一分支中? – Kamafeather 2014-08-27 13:10:35