2016-08-03 10 views
0

ブランチrandom-testsに、偶然に機密情報が含まれているコミットがプッシュされました。ブランチは再び使用されることはないので、リモートとローカルから削除するようにしました。そのブランチ内のコミットをクリアすることを考えました。私は間違っていた。ブランチ自体はなくても、コミットはまだ存在します。削除ブランチの最初のコミット時にリモートブランチでコミットを返す

これは、masterから切り離される前の最初のコミットでした。ブランチが削除され、それがそのブランチ上で最初にコミットされたので、何か他のものに影響を与えずにその問題のあるコミットを削除するにはどうすればよいですか?

+0

BitBucketを実行しているサーバーにアクセスできますか? https://confluence.atlassian.com/bitbucket/maintaining-a-git-repository-321848291.html – Owen

+0

「コミットはまだありますか?」とはどういう意味ですか? – larsks

+1

"コミットはまだあります"とは、 "到達できない"コミットを意味しますか?もしそうなら、あなたは単純に[ガベージコレクション]をすることができます(http://stackoverflow.com/q/1904860/211627)。 – JDB

答えて

0

これらのコミットがまだ表示されている場合は、それらはそのrandom-testsブランチ上にあってはいけません。とにかく、ここでのオプションがあります:

セイここ最近のコミットのリストです:

  • 悪いから「悪いコミット」を消去する

をコミット

  • 良いコミット
  • 良いコミットGitの履歴は、git reset --hard HEAD~1を実行して、ツリーを1つのコミットに戻し、「悪いコミット」が存在することを忘れてしまいます。もう少し慎重にこれを行うには

    、あなたの代わりに良い」最新のだろうこれは、git statusが正しいファイルがunstagedあることを確認して行き、その後、次のコミットにリセットするgit reset --hardを実行しない、git reset --soft HEAD~1を実行できますコミット。'

    そこの最適な解決策ではないかもしれませんが、うまくいくはずです。希望は&が意味を成してくれます!

    更新日: Gitの履歴を変更したので、これをリモートにプッシュするときに問題が発生するため、強制的に実行するにはgit push origin branch -fを実行する必要があります。

  • +0

    はい、実際には 'ランダムテスト'ブランチにあります。私がBitBucketに入ると、彼らはもうブランチを表示しません。私がそれらを見ることができる唯一の方法は、次のようなSlack #commitsチャンネルに表示されているリンクに直接行くことです:https://bitbucket.org/ouraccount/app/commits/e4de5130xfc3e57b79111a87d336582a710bc04e – eComEvo

    +0

    また、 'git reset'を実行するにはどうすればいいですか?私が問題の支店を引き出すことができないときは?さらに、消去したいコミットは、今削除されたブランチの最初のコミットです。 – eComEvo

    関連する問題