2

これは git の最近のログです。

commit 608991c
Merge: 5c0c062 1fe65f9
Author: foo
Date:   Mon Jul 2 

    Merge branch 'mybranch' of xxx.xxx.xxx.xxx:/myproject into mybranch

    Conflicts:
        bar.c

このログは、ユーザー foo がマージ操作を行ったことを意味しますか?

4

1 に答える 1

2

「競合とのマージ:競合と解決」で説明されているように、これは、競合とのマージの解決後に生成される自動ログメッセージです。

関数で、gitソースファイルに組み込まれているメッセージを確認できますbuiltin/merge.csuggest_conflicts()

static int suggest_conflicts(int renormalizing)
{
    const char *filename;
    FILE *fp;
    int pos;

    filename = git_path("MERGE_MSG");
    fp = fopen(filename, "a");
    if (!fp)
        die_errno(_("Could not open '%s' for writing"), filename);
    fprintf(fp, "\nConflicts:\n");

ユーザーの観点から:

競合を解決する

競合を解決した後(READMEこのgitマージに必要な方法でファイルを変更することにより)、競合するファイルをインデックスに追加することで競合が解決されたことをgitに通知する必要があります。

この場合、READMEgitインデックスに追加する必要があります。これで、ファイルに競合があること
git statusについて文句を言うことはなくなります。README

$ git add README
$ git status
# On branch master
# Changes to be committed:
#
#   modified:   README
#   new file:   plan
#

マージをコミットする準備ができました。

$ git commit
[master 368a14a] Merge branch 'test'

git logコマンドは、解決された競合を示します。

$ git log
commit 368a14a034eda95ee401bb56b3bb8df04b84ab0c
Merge: 3330113 c406564
Author: Tim Flagg 
Date:   Fri Mar 25 13:26:10 2011 -0700

    Merge branch 'test'

    Conflicts:
        README

gitg --allマージを示します:

ログにマージ

于 2012-07-02T09:28:24.987 に答える