問題タブ [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 whatchanged で重複コミットを許可
git log と git whatchanged は 2 つのコミットを示していますが、両方とも同じ行が追加されているため、途中で削除されたので、同じ変更を再度追加できましたか?
以下のコマンドを試してみました。行が削除されたことを示す単一のコミットがない場合、同じ 2 行が追加された 2 つのコミットがどのように存在するのでしょうか。これら2つのコミットの間に、このファイルに何が起こったのかを見つけるにはどうすればよいですか?
git log --stat --follow -p at_Objects/AtResctrCase.cpp
コミット 914f8e87cb88e2923ed089a579d69cfa21ae0bc4
at_Objects/AtResctrCase.cpp | 2++
1 ファイル変更、2 挿入 (+)、0 削除 (-)
コミット 6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2
at_Objects/AtResctrCase.cpp | 2++
1 ファイル変更、2 挿入 (+)、0 削除 (-)
git diff 6fe48ea09abae01a9bfea37e6ccf8e6c6fb360c2^..914f8e87cb88e2923ed089a579d69cfa21ae0bc4 -- at_Objects/AtResctrCase.cpp
「git log」を実行すると、間にいくつかのコミットが見つかり、このファイルがいずれかのコミットで変更されたかどうかを確認しました。最近のものから古いものの順に。行が削除されたコミットが見つかりました。b4eec3024a18bd502735d88c31891eea646d3356 マージ: 9a74a46 66cc3f1. しかし、他のコミットがこのファイルを変更していないのに、なぜそれを削除する必要があるのでしょうか? 自動マージによって行が削除されましたか? このファイルがマージコミットで削除された場合、「git log --stat --follow -p at_Objects/AtResctrCase.cpp」または「git diff」に表示されなかった理由。どんな提案でも大歓迎です。
上記のコミットでは、行が手動で再追加されました。
F-41959 の行はここで削除されました。
コミットb4eec3024a18bd502735d88c31891eea646d3356 マージ: 9a74a46 66cc3f1
上記のコミットは、行が最初に追加された場所です
c - 「git log -1 fullpath/myfile」を libgit2 で
git log -1 fullpath/myfilelibgit2で実装したい。私はlibgit2にかなり慣れていません。私は正しい軌道に乗っていますか?これは私がこれまでに持っているものです:
残念ながらgit_tree_entry_byname、リポジトリのサブディレクトリにあるファイルでは機能しないようです。何か案が?
ありがとう、ラース
git - 作成者のタイムスタンプに基づいてgitログの順序を作成するにはどうすればよいですか?
リポジトリのステータスの概要を取得するために、かなり複雑なgit-logコマンドを使用します。--date-orderしかし残念ながら、作成者の日付ではなく、コミッター--date-orderの日付を使用しているようです。つまり、トピックブランチを現在のアップストリームにリベースして最新の状態にするたびに、トピックブランチの相対コミットの有用な時系列順が失われます(つまり、各ブランチが1つの長い行になります。そのコミットのうち、シーケンシャルでほぼ同一のコミッタータイムスタンプにリベースされました。)git-log
コミッターのタイムスタンプではなく、作成者git-logのタイムスタンプでコミットを注文できれば、これは解決されます。誰かがそれを行う方法を知っていますか?
Googleの結果からこれにアクセスする場合は、以下のjosephdpurcellのソリューション(および詳細なブログ投稿!)を確認することをお勧めします。git-log各コミットに関する詳細なメッセージを含む、複数行の標準スタイルの出力を探している場合は、非常に優れています。
残念ながら、私はばかであり、ユースケースに関するより具体的な情報を提供しなかったため、この質問を修正する必要がありますgit-log。「<code>-graphモード」で使用し、git-logそれ自体を動作させる必要があります。著者-日付-順序で。私が確認できた限りでは、これはグラフの順序付けと印刷を処理するためgit-log、外部から行うことは完全に不可能です。git-log
スクリプト、またはのパッチgit-logが必要な場合があるようです。誰かが1.そのようなスクリプトを書くか、2 。フラグgitの組み合わせを含めるように作者に話しかけることができるまで、これを開いたままにしておきます。--author --date-order(=
参考までに、現在のglog関数の出力は次のようになり、並べ替える必要があります。

git - Git ログのリベース
GIT のリベースによって履歴が書き換えられることはわかっています。つまり、コミット ID が変更されます。ただし、ブランチがいつ、どのブランチからリベースされたかを追跡する方法はありますか?
編集: 開発ブランチ 'A' とトピック ブランチ 'B' があります。「A」はチームによって共有されます。ある時点で、「A」はメインストリーム ブランチにリベースされました。リベース (およびその後のコミット) の結果、トピック ブランチを更新したときに不一致が見られました。問題を解決するために適切な相談相手を見つけようとしています。
git - Git - 追跡ブランチに関する情報
追跡ブランチに関する情報を提供する git コマンドラインはどれですか?
オリジン/統合 ( git branch --track integration origin/integration) を追跡する統合ブランチがありますが、ローカル追跡ブランチとリモート追跡ブランチの間の接続を確認したい...
私は知っていgit remote show originます。でもオンラインじゃないと…?
よろしくお願いします。
git - git log --decorate で表示される参照を制限する
現在作業しているメイン リポジトリには、ローカル バックアップ、開発パートナーのワークステーション、およびホストされたリポジトリの 3 つの標準リモートがあります。ほとんどの場合アクティブな 3 つまたは 4 つのブランチがあり、そのうちの 1 つがマスターです。
以下を使用して、1 日を通して定期的にブランチを監視しています。
--decorate非常に不安定な開発ブランチに関する状況を知ることができるため、非常に重要です。問題は、すべてのリモート参照とすべてのブランチ、タグなどが装飾に表示されることです。
特定の参照のみを出力するように制限--decorateする方法はありますか? コマンドラインで参照をリストすると、表示される参照ではなく、表示されるコミットのみが制限されます。
ありがとう、マイク
git - gitlogまたはgitdiffを終了する方法
私はGitイマージョンの助けを借りてGitを学ぼうとしています。
私が使用するときはいつでも私を苛立たせることが1つありますgit logまたはgit diff:

(END)この言葉に出くわしたとき、次に何をすべきかわからない。
コマンドを入力できず、現在のBashウィンドウを閉じて別のウィンドウを開くことになります。使用したい次のコマンドを入力するにはどうすればよいですか?
php - 致命的なエラーの後に Git Ref を再作成する
最近ハード リブートを実行する必要があり、特定のブランチにアクセスしようとすると git でエラーが発生するようになりました (これは、他のブランチにアクセスするときには発生しません)。
この問題は、ここで説明されている問題と似ています:破損した git リポジトリを復元するには? 、しかし、私は現在そのブランチで実行していないという事実が異なりますgit status。また、電話git reflogしても同じエラーメッセージが表示されます。
git branch -d branchNameと を使用して問題のブランチを削除しようとしましgit branch -D branchNameたが、成功しませんでした。
明らかに、すべてのブランチとデータを保持したいのですが、解決策がその特定のブランチを削除することである場合は、それで問題ありません。また、これが役立つかどうかはわかりませんが、このブランチで最後に実行されたアクションはrebase.
考えられる解決策は、無効なブランチを除いて、存在する個々のブランチのそれぞれから現在の参照を再構築することでしょうか?
補足として、私はclone現時点で快適なリモート ソースを持っていないので、ローカル ソリューションが必要です。また、何らかの理由で問題が発生した場合に備えて、PHPを使用しています。
ありがとう。
編集:
実行git fsck --full中、次のメッセージが表示されます。
...別のハッシュを参照しているように見えるので、これは奇妙です。