8

多くの場合、デバッグを容易にするためにコード行を変更したいと思っていますが、実際にはそれらをコミットしたくありません。たとえば、コードの一部の行をコメント アウトして (広告などの) 迷惑な機能を無効にするか、ログ レベルとフィルターを必要なものだけに設定するか、条件を強制的に true にします。実行したいコードのブロックが実際に常に実行されるようにします。

Perforce では、これらのファイルの「変更リスト」を作成し、「DON'T COMMIT!」というラベルを付けます。Git でこれに相当するものは何ですか? これらのデバッグのみの変更は、現在行っている他の変更と共に存在する必要があるため、ブランチは機能しません。

4

5 に答える 5

5

--assume-unchanged オプションを検索します。これについては、非常によく説明されているブログ記事があります。また、このような無視されたファイルを後で見つけることについて言及しています。

于 2012-04-19T00:44:32.613 に答える
2

答えてくれてありがとう。私がやったことは、各ファイルで文字列「dont commit」(およびその他のバリエーション)をチェックするプリコミットフックをgitに作成することです。その場合、コミットは失敗するため、コミットする前にそれらの行を編集する必要があります。これは、一部のファイルにはデバッグの変更と実際の変更の両方がコミットされるため、デバッグ コードはファイルごとではなく行ごとに処理する必要があるためです。(perforce を使用した私の古いソリューションでは、この問題は解決されませんでした)。

于 2012-11-06T23:47:12.330 に答える
1

私が通常行うことは、デバッグ コードを独自のコミットに入れ、後でそのコミットを元に戻すことです。より複雑な解決策は、 から中間分岐を作成し、それをmasterと呼ぶことdebugです。ブランチですべてのデバッグ変更をdebug行ってから、機能ブランチを から作成しますdebug。デバッグの変更を削除する準備ができたら、機能ブランチを にリベースしますmaster

于 2012-04-19T01:58:04.837 に答える
0

実際には、これらのファイルを無視するのではなく、それらの変更を無視します。

ここに 2 つの解決策があります。

  1. 頭を復元

このような状況で使用しているコマンドは次のとおりです。

git checkout -- file ...

デバッグ目的で変更したすべてのファイル。

これにより、現在のファイルが復元されますHEAD。そうすれば、安全に自分のgit commit -aものを作ることができます。

  1. コミットする変更を (ファイルごとに) 尋ねるように git に指示します。

    git add -p .

#1085162を参照してください。

ただし、デバッグ コードを削除する必要があります。

于 2012-04-19T10:13:42.023 に答える