【4.2】Git分支管理-解決衝突

①新建分支修改並進行提交

$ git checkout -b branch1
$ vim demo.c
$ git add demo.c
$ git commit -m "code for branch1"

 ②切換到“master”主分支

上述截圖中,Git提示當前的“master”分支比遠程的“master”分支要超前一個提交。修改“master”分支上的文件後繼續提交修改。

Now,“master”分支和“branch1”分支上都分別有各自的新的提交,在這種情況下,Git無法進行“Fast-forward”。

③合併分支

使用命令“git merge”命令合併分支時,Git提示Automatic merge failed; fix conflicts and then commit the result.存在衝突無法自動合併需要進行手動解決。使用“git status”查看當前文件狀態。

文件狀態顯示中標紅處衝突的文件爲:“  both modified:   demo.c”。查看衝突的文件的文件內容:

#include<iostream>
using namespace std;

/*
 * function: demo
<<<<<<< HEAD
=======
 * return:   0
>>>>>>> branch1
 * date:     2019-09-22
 * author:   colin.tan
 * */

void demo(void)
{
        cout << "666" << endl;
}

/*
        function main
        return 0
 */
int main(void)
{
        cout << "Hello World!" << endl;
        return 0;
}

 

在衝突的文件中,Git使用了<<<<<<<  、  =======  、  >>>>>>>來對不同的分支內容進行標識。

④重新修改之後再次提交

提交後使用帶參數的“git log”命令進行當前分支合併狀態的查看

$ git log --graph --pretty=oneline --abbrev-commit

PS: 使用“git log --graph”命令可以查看分支合併圖。

⑤Last,刪除branch1分支

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章