Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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中强制拉取文件?_Git_Github - Fatal编程技术网

如何在git中强制拉取文件?

如何在git中强制拉取文件?,git,github,Git,Github,我有一个合并冲突,我通常可以重命名文件并从repo ti中提取解决或手动编辑。这一次,我将更改提交到一个有冲突的文件,该文件位于暂存区域。 我尝试使用git reset HEAD,然后再次使用git pull,但仍然出现合并冲突。 有没有办法强制覆盖有问题的文件 以下是我得到的信息: 错误:您对以下文件的本地更改将被“合并”覆盖: db/profile_edit.php 我将文件名更改为profile_edit.phpbkup。 然后我做一个git pull 我仍然会犯同样的错误。为什么会这样?

我有一个合并冲突,我通常可以重命名文件并从repo ti中提取解决或手动编辑。这一次,我将更改提交到一个有冲突的文件,该文件位于暂存区域。 我尝试使用
git reset HEAD
,然后再次使用
git pull
,但仍然出现合并冲突。 有没有办法强制覆盖有问题的文件

以下是我得到的信息: 错误:您对以下文件的本地更改将被“合并”覆盖: db/profile_edit.php

我将文件名更改为profile_edit.phpbkup。 然后我做一个git pull 我仍然会犯同样的错误。为什么会这样?这个文件已经不存在了,如何替换它呢


谢谢。

如果您想放弃同时对上游所做的所有更改:

git fetch origin
git push -f . origin/branchA:branchA
如果您想解决有利于上游的冲突:

git fetch origin
git merge -s recursive -Xtheirs origin/branchA

希望这有帮助。

您可以使用
git reset filename
将文件从索引中取出,如果您不想进行这些更改,请将
--hard
开关添加到reset

冲突本身需要解决

一个选项是
git获取remoteRepo
这将获取远程回购,但不会尝试将分支合并在一起

要区分您感兴趣的文件的两个版本,请使用
git diff HEAD remoteRepo/remoteBranch


如果存在合并冲突,并且您希望保留两个文件中的内容,则除了解决冲突之外,您别无选择。

是否要保留已提交的更改?还是要将这两个文件合并在一起?如何打开这两个文件之间的差异?当然,我愿意这样做。@egidra:你拉,让它来解决冲突,并解决它们。请参阅git merge的手册页,特别是“”和“”部分。从您的问题和评论来看,听起来您可能也想找到git教程并通读一遍。我仍然收到以下错误:错误:您对以下文件的本地更改将被merge:edit.php覆盖。我进行了重置,然后重命名了文件edit.phpbkup,当我执行“git pull”时,仍然会出现错误。在执行合并之前,请尝试使用
git stash
,如果不使用分支,我该怎么办?我们都在原点上。我不建议无头工作。如果你推拉,你就是在用树枝。您可以/可以/使用标记,但这不是正确使用git的方法。