問題タブ [git-bisect]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git bisect を実行するときにディレクトリを無視するにはどうすればよいですか?
ブランチをマージするときに競合することが多いプロダクション ビルド ディレクトリがあります。それは別の問題です。Git bisect を使用してコミット履歴の問題を見つける必要がありますが、次のエラーが発生します。
二等分: マージ ベースをテストする必要があります
エラー: 未追跡の作業ツリー ファイル 'problem_directory/filename.ext' は、マージによって上書きされます。
problem_directory
bisect プロセス中に無視できますか?
git - git bisect の現在の「ステータス」を取得するにはどうすればよいですか?
私は oh-my-git にいくつかの個人的な変更を加えています (端末に git ステータスを表示します)。現在の bisect の「ステータス」を表示したいと思います。具体的には、残りのコミット数と、最後の bisect コマンドの結果であるおおよそのステップ数を取得したいと思います。たとえば、次のようになります。
Bisecting: 9 revisions left to test after this (roughly 3 steps)
git bisect good
この情報を取得するには、実際にorを実行するしかないようgit bisect bad
です。ただし、これらのコマンドのいずれかを実行してレポの状態を変更したくはありません。現在の bisect 状態を取得したいだけです。
git - Gitで1つのフォルダーを二分する
git bisect
私が取り組んでいる Django Web アプリをデバッグするために使用したいと思います。ただし、古いコミットに戻すと、データベース スキーマが頻繁に変更されるため、サイト全体が壊れてしまいます。git bisect
1つのフォルダーのみをチェックアウトするように実行できるようにしたいと思います。この場合、static/
デバッグしようとしている問題はフロントエンドにあるため、そのフォルダーは になります。
私は試しましgit bisect start -- static/
たが、このコマンドは指定されたフォルダーに触れるコミットのみをチェックアウトします(これは私が望むものとは微妙に異なります)。
git bisect start --only-checkout=static/
要するに、デバッグしている特定のフォルダーのみをチェックアウトするようなものを実行できるようにしたいと思います。
ありがとう!
git - git bisect は、たとえばテスト フォルダーなどのフォルダーを無視できますか?
以前、レガシー システム用のスーパー スウィッシュ テスト フレームワークをセットアップしたとします。つまり、機能 A は、機能 A のテストよりずっと前から存在していました。機能 B、C、および D が登場し、気付かないうちに、ある時点で機能 A のテストが中断されます。
どの機能がそれを行ったのかを知りたいです。
今私は実行したい:
問題は、機能 A をテストするコード ファイルが と の間<bad>
にあること<good>
です。コードを手動で抽出しようとしましたが、その後、さまざまな構成とテスト データへのパス (壊れやすいコードですか?) が発生しました。
git bisect
フォルダを無視するように指示する方法はありますか? ひどく間違っていることもあると想像できますが、代替案よりも簡単かもしれないと思います。
ここでは解決されませんGit bisect を実行するときにディレクトリを無視するにはどうすればよいですか? 解決策はリポジトリからそれらを削除することですが、ビルドフォルダーをカバーしているため、テストをコミットしたままにしておきたいです!
この機能ブランチを使用した git bisect / later commits are needed to buildも少し異なります。パッチや機能ブランチを使用していないためです (使用する必要がありますか?) git bisect run
。
git - コミットがセット内にあるかどうかをテストするにはどうすればよいですか?
git bisect 中に、分割されているコミットが対象のコミットのセットのメンバーである場合、特定のアクションを実行したいと考えています。具体的には、次の状況を考慮してください。
B と C は両方とも A から到達可能ですが、相互には到達できません。bisect 中に、B が到達可能なコミットにパッチを適用したいと考えています。これは、B が無関係なバグを導入したためであり、そのノイズを除外したいと考えています。C を調べる場合は、パッチを適用しないでください。
一般に、コミット C が、コミット A から B に到達できるコミットのセットに含まれているかどうかをテストする最良の方法は何ですか? 理想的には git rev-list に渡すことができる式ですが、それ以上のものが必要になると思います。
git - git bisect がコマンドに応答しない
私はというタイトルの別のブランチにいて、redesign-test-fixes
実行していますgit bisect start
。その後、バグをテストして実行しますgit bisect bad
。ターミナルは何も出力しません。次に実行しgit bisect good
ます。同じこと、出力は端末に出力されません。そもそも bisect が実行されていないかのようです。通常、端末が残りのステップ数に関する情報を出力することを期待しています。何が問題で、どうすれば修正できますか? bisect を実行できない git 状態にあるのでしょうか。
git status は次のように応答します。
ただし、git bisect start
git status を実行すると、次のように応答します。
python - git-bisect、ただし N リポジトリ用
私たちのソフトウェアはモジュール式で、1 つのプロジェクトに約 20 個の git リポジトリがあります。
テストが失敗した場合、複数の開発者がこれらの 20 のリポジトリで作業しているため、一致するコミットを見つけるのが難しい場合があります。
昨日はテストが機能し、今日は非難されるほど失敗したことを私は知っています。
時々 git-bisec を使用しますが、これは 1 つの git リポジトリに対してのみ機能します。
多くの場合、2 つの git リポジトリの変更により、テストが失敗します。
自分の N git リポジトリをループする汚いスクリプトを自分で書くこともできますが、そうする前に、専門家がこれをどのように解決するかを知りたいです。
私はPython、Django、およびpytestを使用していますが、私の知る限り、これはこの質問には関係ありません。
git - CRLF/LF と組み合わせた git bisect
git bisect
公開レポで悪い振る舞いをしようとしています。
レポには次のものがあります。
- CRLF を使用したいくつかのコミット (私は MacOS を使用しているため、LF を期待しています)
- ルートにある
.gitattributes
ファイルで、.c、.h、および .java ファイルを正規化する
私が理解しているように、優先順位があるように、現在.git/config
または~/.gitconfig
問題になるべきではありません.gitattributes
。
私の問題はこれに関連しています。CRLF でコミットのチェックアウトを行うと、ローカル ファイルが LF で変更されます。これらのファイルは、 で変更されたものとして表示されますgit status
。その後、別のコミットをチェックアウトしようとすると、ローカルの変更を保護するために git が拒否します。罰金。
そのcheckout
場合は、 で強制的に実行でき-f
ます。
問題は、強制できないように見えることですgit bisect skip
。試してみると、git
変更を隠しておくように指示されます。きれいな作業ファイルを取得できず (隠しておくと改行が変更されたままになります)、スキップすることもできません。
.gitattributes
改行を変更しないようにするために一時的にコピーしようとしましたが、保存bisect
されていない変更について不平を言います。.gitattributes
強制する方法はありbisect
ますか?