我GOOGLE了,但還是沒找到合適的和簡單的答案如何做到以下幾點: 我的工作我的分支,提交和推送FILE1.TXT許多承諾前。但我實際上並不想在開放式公關中使用這個文件。什麼是最簡單的方法來做到這一點? 我試圖git rm
和git rm --cached
但它刪除文件,但我只想要撤消無論是混帳撤消COMMITED文件在當前分支
-1
A
回答
1
之前,如果你已經推它承諾你需要重寫的提交的全部歷史,然後做強制推送(通常不允許你改寫歷史)
此外,如果你這樣做,確保沒有一人有這個分支簽出,並有改變。如果他們這樣做,並且你摧毀了歷史,他們將會很難恢復。
如果你想繼續,github上有一個很大的指導或https://help.github.com/articles/removing-sensitive-data-from-a-repository/這個確切的使用情況了。
0
您可以籤一箇舊版本的文件:
git checkout <commit> -- <file>
然後將其提交:
git commit
完成
如果你想刪除的文件,刪除即可在文件系統之後:
git rm <file>
git commit
完成
1
正如@Andreas Wederbrand所建議的,如果您不關心重寫提交的整個歷史記錄,然後切換到創建請求的分支,請獲取commit-id,重置它並推送遠程,如下:
git reset --hard <commit-id>
git add -m "Revert commit for file file1.txt"
git push origin <branch-name>
編輯:由於@Todd --hard
提到將丟掉整個提交。
如果提交的是不同於file1.txt
然後從分支簽出該文件的其他變化,從在其中創建拉請求,並推送到遠程如下:
git checkout <desired-branch> -- path/to/file1.txt
git add -m "Revert commit for file file1.txt"
git push origin <branch-name>
相關問題
- 1. 撤消在混帳
- 2. 混帳拉分支
- 3. 「混帳SVN變基」不改變當前分支
- 4. 混帳拉branch_1併合併到當前分支同時
- 5. GIT撤消分支-D
- 6. 混帳分支創建git
- 7. 混帳 - 合併分支
- 8. 混帳:顯示分支
- 9. 撤消在GIT結帳
- 10. 在Git中切換分支時撤消文件的修改
- 11. 在Mercurial中撤消分支創建
- 12. 混帳恢復到一個特定的承諾已在分支歷史,但被撤消
- 13. 混帳:兩個分支不容忽視文件需要不同
- 14. 忘了做「混帳推」以前的分支,開始新的分支
- 15. 如何撤消主分支的合併?
- 16. Git撤消本地分支刪除
- 17. 撤消「升級當前目標爲iPad?
- 18. 如何撤消/恢復「Heroku的混帳:克隆」
- 19. 撤消一個混帳合併(尚未推送)
- 20. 混帳:預覽/模擬/撤消更改到存儲庫
- 21. 混淆混帳消息
- 22. 推分支壓縮包與混帳
- 23. 混帳:本地分支合併
- 24. 混帳:藏起來,而不是分支
- 25. 復卷遠程混帳分支
- 26. 混帳:從不同的分支
- 27. 混帳:創建遠程分支失敗
- 28. 混帳 - 交換/交換遠程分支
- 29. 奇怪的混帳分支名
- 30. 混帳無法檢出空主分支
小心了'--hard'選項,假設你想扔掉整個提交。該提交可能還有其他更改要保留。 – Todd
@Arpit如果我做'git reset --hard',它將刪除整個提交,但我不想要它。我還有其他文件 –
請注意,這些建議都不會從較舊的提交中移除文件。如果文件包含敏感數據,則需要在引入後重寫每次提交。 –