問題タブ [git-diff-tree]
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 コミットの変更されたファイルとそのステータスのリストを取得する
次のGitコマンドを使用します
変更されたファイルのリストを取得します。
残念ながら、リストには各ファイルの変更の種類 (追加、変更、削除など) が指定されていません。
特定のコミットの特定の SHA の変更 [変更の種類、ファイル名] のリストを表示するにはどうすればよいですか。
git - git diff-tree からファイルを除外する
コマンドを実行します:
その結果から、zip アーカイブを作成します。
上記のコマンドで生成された結果から特定のファイルを除外するにはどうすればよいですか?
git - gitでツリーとリモートブランチを比較するにはどうすればよいですか?
git で 2 つのオブジェクトを比較する必要があります。1 つは作業ディレクトリ内のツリー (ディレクトリ) で、もう 1 つはリモート ブランチです。ツリーの SHA を見つけて、それをリモート ブランチと一緒に git diff コマンドの引数に使用すれば、そうすることができます。ただし、最初にSHAを掘り下げる必要がない方法を見つけようとしています。
たとえば、次の場合:
次に、次のようなものを発行できるようにしたいと思います。
これは、Dir1 をその SHA に置き換えると機能しますが、ディレクトリ名を使用しようとすると機能しません。diff-tree も使用しようとしました。しかし、それも助けにはなりません。remote_branch/master には Dir1 ディレクトリがないことに注意してください。
どんな助けでも大歓迎です。
前もって感謝します。
git - Git では、ブランチ B に存在しないブランチ A に存在するすべてのファイルを一覧表示するにはどうすればよいですか?
あるブランチに存在し、別のブランチには存在しないすべてのファイルの名前を一覧表示する、使用できる Git コマンドはありますか?
背景: 誰かがいくつかの履歴を削除してから、origin/master をプッシュしました。一部のチーム メンバーは、いくつかのファイルが不足していると言っています。diff コマンドから作成したパッチを使用して、不足しているファイルを回復したと思います。履歴が削除された時点で master をブランチし、新しいブランチにパッチを適用しました。ここで、master ブランチの HEAD に存在しないファイルが新しいブランチに存在することを簡単に確認したいと思います。今のところ、コンテンツに関係なく、新しいブランチに存在し、master の HEAD に存在しないファイルのファイル名のみが必要です。
git - エラー: GIT マージ後に UTF8 をエンコードするためのマップできない文字
さらに別の git pull の後、私のプロジェクトは一連のメッセージでビルドを停止しました:
メッセージは、一部のファイル ヘッダーにある著作権記号を指しています。同じシンボルを持つファイルは他にもたくさんありますが、それらは正常にコンパイルされるようです。バイナリ エディタで表示すると、適切なものは次のように表示されます。
C2 A9
悪いながら
A9
vim で表示すると、両方とも © (<©> 169、16 進数 00a9、8 進数 251) として表示されますが、IntelliJ Idea では悪いものをひし形で表示します。
それで、マージ時に何かを台無しにしたと判断し(プル後にマージの競合がありました)、どのファイルがどこで変更されたかを調べに行きました
しかし、それは結果を生み出しません。前のコミットでも変更は見つかりませんでした。ログは次のようになります。
git checkout 0dfc19850b2e31d72c1d2923321430e8fc1b53cb を実行すると、すべて正常にコンパイルされます。
質問は次のとおりです。どうすれば修正できますか?
修正とは、何が起こったのかを理解し、(おそらく) プルの変更を再適用して、この修正に関連するものをアップストリーム リポジトリにコミットする必要がないようにすることを意味します。
悪いものは UTF-16 (0x00A9) で、良いものは UTF-8 - (0xC2 0xA9) のようです。何がそれを変えたのでしょうか?
ビルド システムは Maven ですが、コピーおよび縮小されたファイルで裸の javac によって報告される同じエラーとは関係ありません。OSはubuntu 15.10で、ロケールは次のように言っています:
java -バージョン: 1.8.0_66。
どんな助けでも大歓迎です!
PS: --diff-algorithm={patience|minimal|histogram|myers} をすべて試しました - まだ git-diff-tree で変更が見つかりません
PS:git reset --hard HEAD~1, git pull origin developemnt
コマンドラインから発行しても役に立たなかったので、アイデアとは関係ありません。
git - 非類似度の印刷率
ファイルを大幅に変更すると、書き換えがトリガーされることがあります。
結果:
ただし、これは小さな変更では発生しません。
結果:
量に関係なく変化率を表示するコマンドを実行できますか? 私はgit diff-treeを調べましたが、変化が劇的な場合にのみ表示されるようです。
git - 「git diff-tree --stdin」から出力を取得する方法は?
のマンページは、選択した一連のツリーオブジェクトをgit diff-tree
使用して結合された diff ( ) を実行できることを示唆しています。これにはオプション--cc
を使用する必要があります。しかし、私は何も出力する--stdin
ことができません。--stdin
例:
ここで私はタイプしましたa<Space>b<Enter>Ctrl-D:a
b
私は何を間違っていますか?
git - GIT リポジトリの最初のコミットに追加されたすべてのファイルを一覧表示する方法は?
現在のステータス:git diff-tree -r HASH
特定のコミットで追加、変更、および削除されたすべてのファイルをリストするために使用しています。これは今日まで機能していました。
問題: 最初のコミットで追加されたすべてのファイルを一覧表示したいのですが、最初の HASH をパラメーターとして渡すことができません。なんで?
主な質問: 最初のコミットで追加されたすべてのファイルのリストを取得するにはどうすればよいですか?