2017-01-03 63 views
1

我已經提交了一個代碼給我的主分支bitbucket.But錯誤地我已經添加了我的信用卡號碼作爲PHP文件的echo聲明。所以現在我需要刪除完整的提交bitbucket.I看到有幾種方法可以做到,比如git rebase或reset.But仍然沒有運氣,所以有辦法做到這一點嗎?有時候我可能會因爲錯誤而採取錯誤的措施。Git commit通過bitbucket中的散列號刪除

+0

可能的複製(HTTP:/ /stackoverflow.com/questions/1338728/delete-commits-from-a-branch-in-git) –

+0

不是隻有一個分支調用大師,只有我工作在它上面,但將來會有更多的開發人員在它上面工作所以在此之前,我需要刪除我的提交。 – CodeCanyon

+0

「但它仍然沒有運氣。」是驚人的不清楚。 – jthill

回答

2

通常從發佈的分支中刪除提交是一個壞主意,因爲它可能會導致共享該分支的任何其他人出現問題。但在這種情況下,留下您的信用卡號碼可能會更糟。

如果提交包含CC數分公司的負責人,那麼你可以修改通過編輯PHP文件,然後通過提交提交:

git commit --amend 

如果壞提交是分公司的負責人,那麼你可以嘗試通過做一個互動變基:

git rebase -i HEAD~10 # replace 10 with however far you need to go back 

這將帶來提交列表在你的分支,最舊到最新。找到包含信用卡的提交,並將pick更改爲edit,從該列表中的下一個提交。自您首次將其添加到歷史記錄以來,您需要從每次提交中刪除該信息。

注意,因爲你已經重寫你的分支的歷史,你將不得不迫使它推送到遠程的使用:從Git中的一個分支刪除提交]的

git push --force origin master 
+0

好吧,我跟着你的步驟。所以你要求改變在文本編輯器中修改是這樣嗎?就是這樣嗎? – CodeCanyon

+0

@CodeCanyon您需要將'pick'更改爲''修改'_every_提交從(包括)意外添加信用卡號的提交_as以及列表中提交的每個提交_below_。然後完成rebase,在每一次提交中,Git都會給你一個機會做出改變。刪除信用卡號並輸入'git rebase --continue'直到完成。 –

+0

好吧,我這樣做。但我認爲我已經錯過了一步是git rebase - continueue。那麼如果我再次遵循同樣的步驟,這會是一個問題嗎? – CodeCanyon