問題タブ [git-log]
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 log
ブランチの作成後に追加されたコミットのみを使用して、または他のコマンドで確認する方法はありますか?
git - GITサーバーの管理。リポジトリのクローン作成のプロセスを追跡する
GITサーバーでのリポジトリのクローン作成のプロセスをどのように追跡しますか?誰がいつリポジトリのクローンを作成したかについての情報が必要です。さらに、作成された新しいリポジトリの量と、サーバー上で誰が作成したかに関する情報はどこにありますか?統計を作成する必要があります。
git - gitログでパスワイルドカードを使用する
gitツリーの奥深くにファイルがあります:
パス全体を入力せずに、そのアクティビティのログを取得したいと思います。基本的に私はこの出力が欲しいです:
...ただし、入力する必要はありませんsm/src/main/java/cl/utilities/sm
。私はたくさんのことを試しましたが、どれもうまくいきませんでした:
git - git-logとgit-whatchangedの違いは?
- 別の質問に対するこの答えを考えると、
- git-logとgit-whatchangedの両方のマニュアルページがgit-rev-listからプルすると言っていることを考えると...
...では、2つのコマンドの違いは何ですか?なぜそれらの両方をわざわざ持っているのですか?
git - ファイルに影響を与えるマージコミットを一覧表示する
特定のファイルに影響を与える、または関係するすべてのマージコミットを見つけたい。
背景として、マージ時に誰かが競合を誤って解決しましたが、チームは数日間その競合に気づきませんでした。その時点で、他の多くの無関係なマージがコミットされていました(私たちの中には、リベースを使用しないことを好む人もいました。そうしないと、物事はもっと簡単になります)。「悪い」マージコミットを見つける必要があるので、他に何が元に戻されたかを特定するためにチェックできます(もちろん、有罪を特定して罰するために)。
シナリオは次のようになります。
...したがって、masterとbranch1のa.txtに競合する変更があります。
...言い換えれば、解決策は「彼らのものを取る」です。グラフは次のようになります。
この時点で、間違ったバージョンのa.txtがマスターにあります。a1のバージョンは必要なものですが、b1バージョンはコミットされています。これまで私が試した:
わかりました。a1もマージコミットも表示されません。
これにより、両方のブランチのすべてが表示されますが、マージコミットは省略されます。
これはもちろん「a1ではなくマスターのすべて」であり、このおもちゃの例では機能しますが、私の実際のケースでは、最近行われたすべてのマージが表示されます(a.txtに触れたものは示されません)。
マージがその変更を省略することを選択したので、ファイルの履歴からa1が消えることを合理化できます(少なくともgitが気にするという意味では)。しかし、a.txtに影響を与えるすべてのマージコミットを見つけるにはどうすればよいですか?これは、すべての候補マージコミットを手動で検査しなくても可能ですか?
git - Git:マージされたブランチからではなく、このブランチのコミットをリストする方法
gitcommitの履歴が次のようになっているとします。
マスター、AFのコミットのみをgitリストにすることは可能ですか?言い換えると、コミットがマージされたブランチ上にあった場合、それを表示したくありません。
git - Git Diffを1つ以上の関数に制限しますか?
で設定*.py diff=python
しました.git/info/attributes
。したがって、Gitは関数の境界がどこにあるかを知っています。git diff -Wは、関数全体が表示されていることを確認することもできます。
しかし、git diffの出力を特定の関数だけ(または複数)に制限する方法はありますか?
(それが失敗した場合、それはひどいことだと思います...)
編集これは次の場合にも役立ちます:views.pyを変更するすべてのコミットを表示しないでください。その中の特定の関数を変更するコミットを表示してくださいgit log
。git rev-list
(はい、理想的な世界では、views.pyは8人の異なる開発者によって頻繁に変更される2000行の巨大なものではありません...)
git - リビジョン A と B の間の主要な git コミットを一覧表示する
git時空で少し離れている2つのgitコミット間の関係を理解しようとしています。どちらも同じコードに触れていますが、いずれかの行のどこかで、コードが別のファイルに移動されました。
私がやりたいと思うのはこれです: git log
「キー」コミットを示す簡略化されたビューを表示します。最初は、これはリビジョン A、リビジョン B、およびそれらの共通の祖先になります。しかし、他の関連するコミットを特定するにつれて、それらを次のような形式で表示できるようにしたいと考えていgit log --graph
ます。
これまでの問題:
git log --all A...B
B から始まり、多くのコミットが表示されますが、表示される最後のコミットの重要性がわかりません。(Aではないです)- 膨大な数のコミットをフィルタリングする方法がわかりません。
--simplify-by-decoration
他の場合には役立ちますが、ここでは役に立ちません (たとえば、指定した実際のコミットは表示されません)。
これが明確でない場合は申し訳ありません。役立つ情報を実際に目にするまで説明するのは簡単ではありません。
編集
わかりました、私はそれを綴ってみます。ターゲット コミット a123 と b234 を呼び出し、c345 は私が特定した別の「キー コミット」であり、d456 は共通の祖先です。
git - マージされたブランチの履歴を表示する
このような歴史を考えると:
- commita111で新しいブランチfooを作成します
- fooに3つのコミットを追加します(b222、c333、d444)
- fooをマスターにマージ(e555)
git log ... e555
b222からd444を選択する一連の引数はありますか?(a111またはe555も選択できます)。
(わかりました、私は自己回答できると思います)