MENU
カタログクリップ
本ページはプロモーションを含みます。

GitHubのコミット履歴で user1 committed with user2と表示される理由

2019 2/12
広告
コンピューター
2017年5月10日2019年2月12日

GitHubのコミット履歴で user1 committed with user2と表示されることがあります。その理由と修正方法を紹介します。

GitHubのコミット履歴で通常は、

user1 committed 28 minutes ago

などと表示されますが、

user1 committed with user2 28 minutes ago

などと二人の名前が表示されることがあります。

これは、authorとcommitterが異なる場合にこのように表示されます。

 

この場合、user1がauthorで、user2がcommitterになっています。

これは、rebase や cherry-picking をした場合に起こります。

例えば、元々user1が作成しcommitしていたcommitを、user2がrebaseすると、user2がそのファイルのcommitterに変わります。

 

authorとcommitter名をコンソールで確認するには、

git cat-file -p HEAD

とか

git cat-file -p 9e84

などとします。-pの後には調べたいcommitをハッシュなどで指定します。なお、

git log --oneline

とすると、ハッシュを調べることが出来ます。

すると、次のようにauthorとcommitter名が表示されます。

tree 8277c3da1712cf117d16bad4c1ec988acb81c062
author user1 <user1@foobar.com> 1494421247 +0900
committer user2 <user2@foobar.com> 1494421247 +0900

first commit

 

これを履歴を残さず修正したい場合は、

git filter-branch

を使いますが、gitは履歴を残すためのシステムですので、それに反する悪のコマンドです。使うと怒られる場合があります。

次のようにすると、committer名がuser2であるコミットについて、committer名 をuser1に書き換えます。

git filter-branch --commit-filter '
        if [ "$GIT_COMMITTER_NAME" = "user2" ];
        then
                GIT_COMMITTER_NAME="user1";
                GIT_AUTHOR_NAME="user1";
                GIT_COMMITTER_EMAIL="user1@foobar.com";
                GIT_AUTHOR_EMAIL="user1@foobar.com";
                git commit-tree "$@";
        else
                git commit-tree "$@";
        fi' HEAD

今回authorは変更しないので、then以降のGIT_AUTHOR_NAMEとGIT_AUTHOR_EMAILは書かなくても良いです。authorも他のユーザに書き換えたいときには、ここも変更します。

そして、git push -fでリモートを書き換えます。

 

以上、GitHubのコミット履歴で user1 committed with user2と表示される理由でした。

目次

参考

http://stackoverflow.com/questions/37245303/what-does-usera-committed-with-userb-13-days-ago-on-github-mean

コンピューター

関連記事

  • Archer BE550とArcher BE450の7つの違い [TP-Link Wi-Fi 7ルーター]
    2025年8月30日
  • Archer BE7200とArcher BE450の3つの違い [TP-Link Wi-Fiルーター]
    2025年8月30日
  • Archer BE3600とArcher BE220の2つの違い [TP-Link Wi-Fiルーター]
    2025年8月30日
  • G-PKB-002LNdとG-PKB-002LNの2つの違い [Logicool G キーボード]
    2025年8月30日
  • KX700GRdとKX700GRの4つの違い [ロジクール ワイヤレスキーボード]
    2025年8月30日
  • G-PPD-004WL-BKd と G-PPD-004WL-BKの2つの違い [Logicool ゲーミングマウス]
    2025年8月30日
  • SSD-CK1.0N4PLG3NとSSD-CK1.0N4PLG3Jの1つの違い [KIOXIA 内蔵SSD]
    2025年8月30日
  • KX700GRdとKX700GRの2つの違い [ロジクール キーボード]
    2025年8月30日
カテゴリー
  • コンピューター
    • gnuplot & eps
    • mac
    • matplotlib
    • wordpress
  • ホーム・家電
    • アイロン
    • オーディオ
    • オーラルケア
      • ジェットウォッシャー
      • 音波振動歯ブラシ
    • カメラ
    • カー用品
    • キッチン
      • 冷蔵庫
      • 浄水器
      • 炊飯器
      • 調理器具
      • 電子レンジ
    • クリーナー
    • テレビ、レコーダー
    • ドアホン
    • ルンバ
    • 一覧比較
    • 工具
    • 温水洗浄便座
    • 空気清浄機・加除湿機
    • 空調・季節家電
    • 美容家電
      • フェイスケア
      • ヘアケア
      • ボディーケア
      • メンズ美容家電
        • ラムダッシュ
    • 血圧計
  • 健康
  • 家事
    • パン
    • 料理
    • 育児
    • 食品
      • おせち
      • コーヒー
  • 書籍
  • 知識
  • 趣味
    • ペン字
    • ロードバイク・クロスバイク
    • 車
    • 鉄道模型
    • 電子工作
サイト内検索
最近の投稿
  • CV-KP90MとCV-KP90Lの2つの違い [日立 紙パック式掃除機]
  • CV-KP90KとCV-KP90Jの1つの違い [日立 紙パック式クリーナー]
  • CV-KP90JとCV-KP90Hの1つの違い [日立 紙パック式クリーナー]
  • CV-KP90MとCV-KP900Mの10の違い [日立 掃除機]
  • CV-KP900PとCV-KP900Mの4つの違い [日立 掃除機]
  • PV-BL3LとPV-BL1C4の2つの違い [日立 スティッククリーナー]
  1. ホーム
  2. コンピューター
  3. GitHubのコミット履歴で user1 committed with user2と表示される理由
  • ホーム
  • プライバシーポリシー

© カタログクリップ
contact@beiznotes.org

目次