問題タブ [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.

0 投票する
0 に答える
395 参照

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

上記のコミットは、行が最初に追加された場所です

0 投票する
1 に答える
760 参照

c - 「git log -1 fullpath/myfile」を libgit2 で

git log -1 fullpath/myfilelibgit2で実装したい。私はlibgit2にかなり慣れていません。私は正しい軌道に乗っていますか?これは私がこれまでに持っているものです:

残念ながらgit_tree_entry_byname、リポジトリのサブディレクトリにあるファイルでは機能しないようです。何か案が?

ありがとう、ラース

0 投票する
4 に答える
30810 参照

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関数の出力は次のようになり、並べ替える必要があります。

glog出力

0 投票する
3 に答える
16034 参照

git - Git ログのリベース

GIT のリベースによって履歴が書き換えられることはわかっています。つまり、コミット ID が変更されます。ただし、ブランチがいつ、どのブランチからリベースされたかを追跡する方法はありますか?

編集: 開発ブランチ 'A' とトピック ブランチ 'B' があります。「A」はチームによって共有されます。ある時点で、「A」はメインストリーム ブランチにリベースされました。リベース (およびその後のコミット) の結果、トピック ブランチを更新したときに不一致が見られました。問題を解決するために適切な相談相手を見つけようとしています。

0 投票する
1 に答える
2124 参照

git - Git - 追跡ブランチに関する情報

追跡ブランチに関する情報を提供する git コマンドラインはどれですか?

オリジン/統合 ( git branch --track integration origin/integration) を追跡する統合ブランチがありますが、ローカル追跡ブランチとリモート追跡ブランチの間の接続を確認したい...

私は知っていgit remote show originます。でもオンラインじゃないと…?

よろしくお願いします。

0 投票する
4 に答える
2046 参照

git - git log --decorate で表示される参照を制限する

現在作業しているメイン リポジトリには、ローカル バックアップ、開発パートナーのワークステーション、およびホストされたリポジトリの 3 つの標準リモートがあります。ほとんどの場合アクティブな 3 つまたは 4 つのブランチがあり、そのうちの 1 つがマスターです。

以下を使用して、1 日を通して定期的にブランチを監視しています。

--decorate非常に不安定な開発ブランチに関する状況を知ることができるため、非常に重要です。問題は、すべてのリモート参照とすべてのブランチ、タグなどが装飾に表示されることです。

特定の参照のみを出力するように制限--decorateする方法はありますか? コマンドラインで参照をリストすると、表示される参照ではなく、表示されるコミットのみが制限されます。

ありがとう、マイク

0 投票する
3 に答える
26307 参照

git - Git はログにすべてのブランチを表示します (スタッシュは除く)

次のように展開される Git エイリアスがあります。

によるとman git log、疑わしいオプションがいくつかあり--notます--branches。しかし、私はそれを適切に機能させることはできません。

スタッシュを非表示にするには、どのように編集すればよいですか?


参考受け入れられた質問コメントによると、私の.gitconfigエイリアスは次のようになります。

0 投票する
7 に答える
462226 参照

git - gitlogまたはgitdiffを終了する方法

私はGitイマージョンの助けを借りてGitを学ぼうとしています。
私が使用するときはいつでも私を苛立たせることが1つありますgit logまたはgit diff

Gitログに(END)マーカーが表示されます

(END)この言葉に出くわしたとき、次に何をすべきかわからない。

コマンドを入力できず、現在のBashウィンドウを閉じて別のウィンドウを開くことになります。使用したい次のコマンドを入力するにはどうすればよいですか?

0 投票する
1 に答える
652 参照

php - 致命的なエラーの後に Git Ref を再作成する

最近ハード リブートを実行する必要があり、特定のブランチにアクセスしようとすると git でエラーが発生するようになりました (これは、他のブランチにアクセスするときには発生しません)。

この問題は、ここで説明されている問題と似ています:破損した git リポジトリを復元するには? 、しかし、私は現在そのブランチで実行していないという事実が異なりますgit status。また、電話git reflogしても同じエラーメッセージが表示されます。

git branch -d branchNameと を使用して問題のブランチを削除しようとしましgit branch -D branchNameたが、成功しませんでした。

明らかに、すべてのブランチとデータを保持したいのですが、解決策がその特定のブランチを削除することである場合は、それで問題ありません。また、これが役立つかどうかはわかりませんが、このブランチで最後に実行されたアクションはrebase.

考えられる解決策は、無効なブランチを除いて、存在する個々のブランチのそれぞれから現在の参照を再構築することでしょうか?

補足として、私はclone現時点で快適なリモート ソースを持っていないので、ローカル ソリューションが必要です。また、何らかの理由で問題が発生した場合に備えて、PHPを使用しています。

ありがとう。


編集:

実行git fsck --full中、次のメッセージが表示されます。

...別のハッシュを参照しているように見えるので、これは奇妙です。