文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Git冲突如何处理

2024-04-02 19:55

关注

今天小编给大家分享一下Git冲突如何处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

在 wchar_support 分支中执行更改

Jerry 正在wchar_support分支上工作。他更改了函数的名称,并在测试之后提交了他的更改。

[jerry@CentOS src]$ git branch
 master
* wchar_support
[jerry@CentOS src]$ git diff

上面的命令产生以下结果

diff --git a/src/string_operations.c b/src/string_operations.c
index 8fb4b00..01ff4e0 100644--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,7 +1,7 @@#include <stdio.h>#include <wchar.h>-size_t w_strlen(const wchar_t *s)
+size_t my_wstrlen(const wchar_t *s)
{   const wchar_t *p = s;

在验证代码后,他提交了他的更改。

[jerry@CentOS src]$ git status -s
M string_operations.c
[jerry@CentOS src]$ git add string_operations.c
[jerry@CentOS src]$ git commit -m 'Changed function name'[wchar_support 3789fe8] Changed function name1 files changed, 1 insertions(+), 1 deletions(-)
[jerry@CentOS src]$ git push origin wchar_support

上述命令将产生以下结果

Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 409 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
To gituser@git.server.com:project.git
64192f9..3789fe8 wchar_support -> wchar_support

在主分支中执行更改

同时在主分支中,Tom 也更改了相同函数的名称,并将他的更改推送到主分支。

[tom@CentOS src]$ git branch
* master
[tom@CentOS src]$ git diff

上面的命令产生以下结果

diff --git a/src/string_operations.c b/src/string_operations.c
index 8fb4b00..52bec84 100644--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,7 +1,8 @@#include <stdio.h>#include <wchar.h>-size_t w_strlen(const wchar_t *s)
++size_t my_wc_strlen(const wchar_t *s)
{   const wchar_t *p = s;

在验证 diff 之后,他提交了他的更改。

[tom@CentOS src]$ git status -s
M string_operations.c
[tom@CentOS src]$ git add string_operations.c
[tom@CentOS src]$ git commit -m 'Changed function name from w_strlen to my_wc_strlen'[master ad4b530] Changed function name from w_strlen to my_wc_strlen1 files changed, 2 insertions(+), 1 deletions(-)
[tom@CentOS src]$ git push origin master

上述命令将产生以下结果

Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 470 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
To gituser@git.server.com:project.git
64192f9..ad4b530 master -> master

在wchar_support分支上,Jerry 为宽字符串实现了 strchr 函数。测试后,他提交并将他的更改推送到wchar_support分支。

[jerry@CentOS src]$ git branch
master
* wchar_support
[jerry@CentOS src]$ git diff

上面的命令产生以下结果

diff --git a/src/string_operations.c b/src/string_operations.c
index 01ff4e0..163a779 100644--- a/src/string_operations.c
+++ b/src/string_operations.c
@@ -1,6 +1,16 @@#include <stdio.h>#include <wchar.h>+wchar_t *my_wstrchr(wchar_t *ws, wchar_t wc)
+
{
   +   while (*ws) 
   {
      +      if (*ws == wc)
      +      return ws;
      +
      ++ws;
      + 
   }
   + return NULL;
   +
}
+size_t my_wstrlen(const wchar_t *s)
{   const wchar_t *p = s;

在验证之后,他提交了他的更改。

[jerry@CentOS src]$ git status -s
M string_operations.c
[jerry@CentOS src]$ git add string_operations.c
[jerry@CentOS src]$ git commit -m 'Addded strchr function for wide character string'[wchar_support 9d201a9] Addded strchr function for wide character string1 files changed, 10 insertions(+), 0 deletions(-)
[jerry@CentOS src]$ git push origin wchar_support

上述命令将产生以下结果

Counting objects: 7, done.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 516 bytes, done.
Total 4 (delta 1), reused 0 (delta 0)
To gituser@git.server.com:project.git
3789fe8..9d201a9 wchar_support -> wchar_support

处理冲突

Tom 想看看 Jerry 在他的私有分支上做了什么,所以他试图从wchar_support分支中提取最新的更改,但 Git 中止了操作并显示以下错误消息。

[tom@CentOS src]$ git pull origin wchar_support

上面的命令产生以下结果

remote: Counting objects: 11, done.
63Git Tutorials
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (8/8), done.
From git.server.com:project
* branch
wchar_support -> FETCH_HEAD
Auto-merging src/string_operations.c
CONFLICT (content): Merge conflict in src/string_operations.c
Automatic merge failed; fix conflicts and then commit the result.

解决冲突

从错误信息可以看出,src/string_operations.c 中存在冲突。他运行 git diff 命令以查看更多详细信息。

[tom@CentOS src]$ git diff

上面的命令产生以下结果

diff --cc src/string_operations.c
index 52bec84,163a779..0000000--- a/src/string_operations.c
+++ b/src/string_operations.c
@@@ -1,8 -1,17 +1,22 @@@#include <stdio.h>#include <wchar.h>++<<<<<<< HEAD
++size_t my_wc_strlen(const wchar_t *s)
++=======
+ wchar_t *my_wstrchr(wchar_t *ws, wchar_t wc)
+
{
   +
   +   while (*ws) 
   {      if (*ws == wc)
      +      return ws;
      +
      ++ws;
      + 
   }
   + return NULL;
   +
}
+
+ size_t my_wstrlen(const wchar_t *s)
++>>>>>>>9d201a9c61bc4713f4095175f8954b642dae8f86
{   const wchar_t *p = s;

由于 Tom 和 Jerry 更改了同一个函数的名称,Git 处于混乱状态,它要求用户手动解决冲突。

Tom 决定保留 Jerry 建议的函数名称,但保留他添加的注释,原样。删除冲突标记后, git diff 将如下所示。

[tom@CentOS src]$ git diff

上述命令产生以下结果。

diff --cc src/string_operations.c
diff --cc src/string_operations.c
index 52bec84,163a779..0000000--- a/src/string_operations.c
+++ b/src/string_operations.c
@@@ -1,8 -1,17 +1,18 @@@#include <stdio.h>#include <wchar.h>+ wchar_t *my_wstrchr(wchar_t *ws, wchar_t wc)
+
{
   +   while (*ws) 
   {
      +      if (*ws == wc)
      +      return ws;
      +
      ++ws;
      + 
   }
   + return NULL;
   +
}
+
+- size_t my_wc_strlen(const wchar_t *s)
+ size_t my_wstrlen(const wchar_t *s)
{   const wchar_t *p = s;

由于 Tom 修改了文件,他必须先提交这些更改,然后才能提取更改。

[tom@CentOS src]$ git commit -a -m 'Resolved conflict'[master 6b1ac36] Resolved conflict
[tom@CentOS src]$ git pull origin wchar_support.

Tom 已经解决了冲突,现在 pull 操作将成功。

以上就是“Git冲突如何处理”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯