更新: これは、私が使用している SmartGit のバージョン (バージョン 3.0.11) - gitk に似たアプリケーションのバグであることが判明しました。「git pull」を実行した後に「プッシュ可能なコミット」リストが変更され、まだプッシュされていない一部のローカル コミットが誤ってこの UI リストから削除されます。これにより、プッシュされなかった唯一のコミットが「マージコミット」であると思われるこの投稿で説明されている混乱が発生しました。
変更をリモート (GitHub 上) にプッシュしました。私の後に他の 2 人の開発者がいくつかのコミットをプッシュしました。ローカルでの変更やコミットはまったくなく、「git pull」を実行しました。
変更を取り込んだ直後に、マージ コミットを強制されました (オプションのメッセージを入力できるようにしました)。私は Git を約 2 年間使用してきましたが、変更をクリーンなローカル リポジトリにプルダウンするとマージ コミットが強制されるような状況にまだ遭遇したことがありません。過去 1 週間で 2 回発生しましたが、どうすればよいかわからなかったので、問題なく (!?) 2 回ともすぐにこのマージ コミットをプッシュしました。
私たちのチームには、リベースを好む開発者と git pull を使用する開発者が混在しています。おそらく関連しているのではないかと思っています(このセットアップを1年以上使用しており、1週間前までこれに遭遇したことはありません). 私は git pull を使用しています。
下の画像がその歴史です。
プッシュされた元のコミットは、紫色の線の一番下の点です。他の 2 つの開発者が私の後にプッシュし、彼らの変更をプルすると、私のローカル リポジトリ (同じ紫色の線) にトップの「マージ ブランチ」コミットが作成されました。