3

10何かがコミットバックし、.gitignoreファイルに変更を加えました。今日、最新のコードをプルしたとき、私の変更はありませんでした。だから私はこのコマンドを実行しました:

git log -p .gitignore

そして、ファイルへの最後の変更は私のものであることがわかりました。次に、今からコミットまでの間にすべてのコミットをプルし、変更を削除したコミットを特定しました。次に、そのコミットの差分とその前の差分を取得しました。差分で、ファイルへの変更を確認できました。

しかし、なぜ上記のコマンドで変更を確認できないのですか?そして、私が使用するとき、私はこの変化さえ見ません

gitk .gitignore

また、他のファイルの履歴も表示しようとすると、これが発生する可能性がありますか?

4

1 に答える 1

0

たぶん、あなたが話している変更は、別のブランチとのマージによって導入されましたか?さまざまなマージ戦略があり、コミットが時系列で最後のものである場合でも、マージ手順は戦略ルールに準拠する古いコミットを優先する場合があります。

デフォルトでは、gitはrecursiveコミットを作成された順序で配置する戦略を使用します。しかし、おそらくあなたの場合、マージは、あるブランチからのコミットを別のブランチからのコミットよりも優先する戦略を使用oursして行われました。heirsそのため、実際に期待しているものが表示されない場合があります。

戦略の詳細については、このQ&Aにアクセスしてください。

于 2013-01-18T11:07:19.813 に答える