2013-04-22 48 views
0

我已經閱讀了很多可能與我的問題有關的問題和解答,但我找不到答案。也許是因爲我沒有經驗的git用戶。然後,我很抱歉,並會感謝答案的鏈接。github - 如何從分支中刪除提交

有一個主要的回購,我把它分給我自己。然後,我從自己的回購站點克隆到自己的機器,然後在我的機器上工作,然後將更改轉到我的回購庫,並將PR創建爲主回購。這是一個流程。

開始時我在代碼(conf文件)中創建了一個新文件,並創建了一個與任何分支無關的提交。我已將它提交給我的回購並忘記了它。然後我創建了新的分支,進行了更改等。在我的工作結束時,我已經取得了主要的回購 - 從基本回購中獲取並獲得最新的東西,我已經對我的回購做出了承諾。然後我把新的分支推到我的git集線器上。

當我在PR之前檢查過文件和更改時,我已經注意到,我的第一次提交配置文件被添加到此分支。我工作中的人告訴我,這是可以的。文件將被添加到主要的回購,當公關將被合併。

完美。

但現在我已經創造了新的分支,我有新的提交,並與我的配置文件仍然犯顯示爲提交相關的新的分支...

所以,我怎麼能刪除嗎?

或者我可能需要等到QA接受我以前的PR併合並它?

+0

重複? http://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github – 1615903 2013-04-22 10:34:35

+0

不完全...我想刪除我的分支和其他分支,我將創建一個提交... – Kania 2013-04-22 10:54:18

+0

如果重寫歷史記錄不成問題,可以執行'git rebase -i SHACODE'(其中SHACODE是提交的SHA代碼)。然後,刪除與所述提交相對應的行。否則,您可以執行'git revert',但您的提交仍會出現在歷史記錄中。 – BenC 2013-04-22 11:00:36

回答

0

而不是重新寫你的歷史,你可以做的是簡單地增加您的主分支,它刪除了配置文件,而如果我的理解是正確的額外承諾,是你唯一的希望包括在特別的分支。

所以,儘量:

git checkout master 
git rm --cached <configfile> 
git commit -m "Removing the configuration file" 
git push origin master 

從那裏,你可以從主分支及該等分行將不會有配置文件。 這有很好的屬性,它不會影響任何已推送的分支的歷史。