5

プレビュー ボタンが表示されなかったので、README.md を何度も編集しました。今、私のコミット履歴は役に立たないコミットでいっぱいです。

それらのいくつかを削除するか、少なくとも非表示にすることはできますか?

4

1 に答える 1

8

注意

履歴を書き換えると、ソース管理システムがめちゃくちゃな状態になる可能性があります。何か問題が発生した場合に備えて、ソースの適切なバックアップがあることを確認してください。

ギット

チーム プロジェクトのセットアップに応じて、Readme.md は Git リポジトリに保存され、履歴を完全に書き換えて、押しつぶされたコミットを TFS に強制的にプッシュし、本質的に中間データを忘れさせることができます。これはgit rebase、Visual Studio Online サイトや Visual Studio Tools for Git を使用して行うことができます。コマンドラインから実行する必要があります。

プロセス全体は、Git-SCM wiki で非常によく説明されています。次の手順を実行する必要があります。

  1. Force Push パーミッションを持つアカウントから、readme.md を含むリポジトリのクローンを作成します。
  2. 使用git rebase -i HEAD~6(6 は巻き戻しするコミットの数です)
  3. コミットSquashをマージするために使用します
  4. git push --force origin masterリモートで履歴の書き換えを強制するために使用します

: これにより、コミットのハッシュとその後のすべてのコミットが変更されます。これを行った後、他のすべての貢献者に再同期するように警告するか、これらのコミットを行った後に他の人がリポジトリで作業していないことを確認してください。

TFVC

チーム プロジェクトが TFVC を使用して構成されている場合、プロセスは少し異なります。

  1. 保持したいファイルのコピーがあることを確認してください。
  2. を使用してソース管理でファイルを破棄します。tf destroy $/Teamproject/readme.md必要に応じて/keephistory /stopat:C12345、ファイルの履歴の最後にある特定の変更セットのデータを破棄するオプションを使用できます。
  3. バックアップしたファイルを元の場所にコピーします
  4. 通常どおりにチェックインするか、コマンドラインのtf add $/teamproject/reqadme.md後にtf checkin. 履歴を保持している場合、TFVC はそれを再接続します。履歴を完全に破棄した場合、TFVC は新しいファイルを追加するだけです。
于 2014-12-31T14:23:40.247 に答える