Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git将diff接口文本添加到版本化文件中_Git - Fatal编程技术网

Git将diff接口文本添加到版本化文件中

Git将diff接口文本添加到版本化文件中,git,Git,我让Git在文件行中添加了看起来像是diff命令的接口输出: $ git pull U public_html/spider/spider.php Pull is not possible because you have unmerged files. Please, fix them up in the work tree, and then use 'git add/rm <file>' as appropriate to mark resolution, or u

我让Git在文件行中添加了看起来像是
diff
命令的接口输出:

$ git pull
U       public_html/spider/spider.php
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.

$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 1 different commit each, respectively.
#
# Unmerged paths:
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#       both modified:      spider.php
#
no changes added to commit (use "git add" and/or "git commit -a")

$ git diff spider.php
diff --cc public_html/spider/spider.php
index a89b8ef,4b091a7..0000000
--- a/public_html/spider/spider.php
+++ b/public_html/spider/spider.php
@@@ -136,13 -136,7 +136,17 @@@ if ( isset($_SERVER['HTTP_USER_AGENT']
                                $providersList[] = $p['name'];
                        }
                }
++<<<<<<< HEAD
+
+              if ( ensure_fields($input, 'version') ) {
+                      $output['providers'] = $providers;
+              } else {
+                      $output['providers'] = $providersList;
+              }
+
++=======
+               $output['providers'] = $providersList;
++>>>>>>> 5de401379b275bdb805298fd3db919028506cc60
                $logData['providers'] = implode(', ', $providersList);

                echo json_encode($output);

$ git add spider.php

$ git status
# On branch master
# Your branch and 'origin/master' have diverged,
# and have 2 and 1 different commit each, respectively.
#
# Changes to be committed:
#
#       modified:   spider.php
#
$git pull
U public_html/spider/spider.php
无法拉取,因为您有未合并的文件。
请在工作树中修复它们,然后使用“git add/rm”
根据需要标记解析,或使用“git commit-a”。
$git状态
#论分行行长
#您的分支和“原始/主”已发生分歧,
#和分别有2个和1个不同的提交。
#
#未合并路径:
#(酌情使用“git add/rm…”标记分辨率)
#
#两者都已修改:spider.php
#
未向提交添加任何更改(使用“git add”和/或“git commit-a”)
$git diff spider.php
diff--cc public_html/spider/spider.php
索引a89b8ef,4b091a7..0000000
---a/public_html/spider/spider.php
+++b/public_html/spider/spider.php
@@@-136,13-136,7+136,17@@@if(isset($\u服务器['HTTP\u用户\代理])
$providersList[]=$p['name'];
}
}
++>5de401379b275bdb805298fd3db919028506cc60
$logData['providers']=内爆(',',$providersList);
echo json_编码($output);
$git add spider.php
$git状态
#论分行行长
#您的分支和“原始/主”已发生分歧,
#和分别有2个和1个不同的提交。
#
#要提交的更改:
#
#修改:spider.php
#
现在,当我打开spider.php文件时,我发现这是直接从VIM复制的:

- bruno:spider$ vim spider.php
135             if ( $p['url']!='' ) {
136                 $providersList[] = $p['name'];
137             }
138         }
139 <<<<<<< HEAD
140 
141         if ( ensure_fields($input, 'version') ) {
142             $output['providers'] = $providers;
143         } else {
144             $output['providers'] = $providersList;
145         }
146 
147 =======
148         $output['providers'] = $providersList;
149 >>>>>>> 5de401379b275bdb805298fd3db919028506cc60
150         $logData['providers'] = implode(', ', $providersList);
151 
152         echo json_encode($output);
-bruno:spider$vim spider.php
135如果($p['url']!=''){
136$providersList[]=$p['name'];
137             }
138         }
139>5de401379b275bdb805298fd3db919028506cc60
150$logData['providers']=内爆(',',$providersList);
151
152回波json_编码($output);
唯一编辑文件的机器是这台(本地)机器。在这种情况之前,唯一不寻常的Git用法是在
推送之后的
提交--amend
。这可能是造成这种情况的原因吗?如果不是,那又是什么呢?这是一个Git错误,就像它看起来那样吗?

a部分)为什么会发生合并?

这不是100%确定的,但可能:

你有:

A--B--C--D
您按下此按钮,然后修改D以获得:

A--B--C--D'
然后,在某个点上,您拉回了提交D,这是您之前推送的,并且与您稍后创建的D没有正式关系。此时,需要合并来创建一个提交,它是D和D的继承者。这就是问题所在

如前所述,我不能完全肯定它是这样展开的,但你所拥有的肯定是一个出错的合并

第二部分)合并是如何发生的,冲突是如何解决的?

git尝试自动执行合并,如果提交D和D'更改不同的文件或一个文件的不同部分,则文件会自动更改,您只需执行
git提交
即可确认。如果D和D'都更改了一个文件的同一部分(并且没有以完全相同的方式更改),则会出现合并冲突,git会要求您解决。因此,它将冲突标记放置在文件中,它们看起来就像这样:

139 <<<<<<< HEAD
140 
141         if ( ensure_fields($input, 'version') ) {
142             $output['providers'] = $providers;
143         } else {
144             $output['providers'] = $providersList;
145         }
146 
147 =======
148         $output['providers'] = $providersList;
149 >>>>>>> 5de401379b275bdb805298fd3db919028506cc60
139>5de401379b275bdb805298fd3db919028506cc60
冲突标记告诉您此部分有两个版本,一个是从
HEAD
和散列用于通过提交标识相应的版本。您有责任通过选择一个版本或保持两个版本(一个接一个,顺序正确)或创建一个全新的版本(希望两个版本的效果结合在一起),将文件转换为已解析的版本。您可以使用自己选择的文本编辑器或者使用git mergetool之类的工具来实现这一点。当您对结果满意时,可以执行
git commit
来确认合并

您(可能)所做的是“不做任何事情并提交”,因此告诉git文件合并正常,即使您在拉取时没有对git放置在其中的冲突标记进行任何操作。

a部分)为什么会发生合并?

这不是100%确定的,但可能:

你有:

A--B--C--D
您按下此按钮,然后修改D以获得:

A--B--C--D'
然后,在某个点上,你拉回来了提交D,这是你之前推的,与你后来创建的D没有正式关系。在这一点上,需要合并来创建作为D和D'的继承者的提交。这就是问题所在

如前所述,我不能完全肯定它是这样展开的,但你所拥有的肯定是一个出错的合并

第二部分)合并是如何发生的,冲突是如何解决的?

git尝试自动执行合并,如果提交D和D'更改不同的文件或一个文件的不同部分,则文件会自动更改,您只需执行
git提交
即可确认。如果D和D'都更改了一个文件的同一部分(并且没有以完全相同的方式更改),则会出现合并冲突,git会要求您解决。因此,它将冲突标记放置在文件中,它们看起来就像这样:

139 <<<<<<< HEAD
140 
141         if ( ensure_fields($input, 'version') ) {
142             $output['providers'] = $providers;
143         } else {
144             $output['providers'] = $providersList;
145         }
146 
147 =======
148         $output['providers'] = $providersList;
149 >>>>>>> 5de401379b275bdb805298fd3db919028506cc60
139>5de401379b275bdb805298fd3db919028506cc60
冲突标记告诉您此部分有两个版本,一个是从
HEAD
和散列用于通过提交标识相应的版本。您有责任通过选择一个版本或保持两个版本(一个接一个,顺序正确)或创建一个全新的版本(希望两个版本的效果结合在一起),将文件转换为已解析的版本。您可以使用自己选择的文本编辑器或者使用git mergetool之类的工具来实现这一点。什么时候