Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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_Git Merge_Git Pull - Fatal编程技术网

Git 解决合并冲突:强制覆盖所有文件

Git 解决合并冲突:强制覆盖所有文件,git,git-merge,git-pull,Git,Git Merge,Git Pull,我自己正在处理一个git存储库(所以,是的,我知道这样做的含义和警告),不知怎的,其中一棵树在不应该提交的时候被推后得到了提交 现在我正试图退出,它抱怨数百次合并冲突 有没有办法告诉git在本地强制覆盖来自远程服务器的所有文件?有没有比执行git重置(硬头~1)然后执行拉操作更快的方法 同样的,有没有一种方法可以通过简单的合并实现同样的效果?我所看到的一切都建议在合并冲突解决阶段签出每个文件,但对于数百个文件,手动签出是不可能的。有三种简单的解决方案可以复制远程存储库中的最后一个版本,放弃您在本

我自己正在处理一个git存储库(所以,是的,我知道这样做的含义和警告),不知怎的,其中一棵树在不应该提交的时候被推后得到了提交

现在我正试图退出,它抱怨数百次合并冲突

有没有办法告诉git在本地强制覆盖来自远程服务器的所有文件?有没有比执行git重置(硬头~1)然后执行拉操作更快的方法


同样的,有没有一种方法可以通过简单的合并实现同样的效果?我所看到的一切都建议在合并冲突解决阶段签出每个文件,但对于数百个文件,手动签出是不可能的。

有三种简单的解决方案可以复制远程存储库中的最后一个版本,放弃您在本地所做的所有更改:

  • 放弃存储库并再次克隆。这是最简单的解决方案,但如果您的存储库很大,则可能需要很长时间,并且可能需要额外的工作,如重新配置等

  • 使用
    git reset--hard
    放弃本地更改,然后执行
    git pull
    。问题是,您需要首先找到一个提交,它位于您试图避免的任何更改历史之前。重置为提交散列后,执行git pull

  • 执行
    git fetch
    将更新带到远程分支的本地引用(通常为origin/master),然后执行
    git reset--hard
    传递此引用,即,
    git reset--hard origin/master

  • 例如:

    git reset --hard upstream/branch1
    
    如果您使用的是分支机构,您可以使用上述代码。但在此之前,您必须将(上游或源站)设置为本地存储库

    git remote add upstream https://github.com/lakini/example.git
    
    这里是远程上游存储库

    与此相同,我们也可以在远程存储库(源)中工作


    你为什么不把你的沙盒吹走,然后git再克隆一次呢?我希望它不会花那么多时间。这个项目很大,克隆需要很长时间。#3相当聪明。回答得好。顺便说一下,欢迎来到StackOverflow。请注意:使用反引号(`)来表示代码或命令行内容。
    git checkout——他们的。
    如果合并不包括任何删除,那么它似乎可以工作,我已经确定3是最终的正确答案。学习
    fetch
    和refs如何工作对于有效地使用Git非常重要。运行
    Git fetch origin my_分支
    后,然后尝试
    git reset--hard origin/my_branch
    时,我得到以下错误:
    致命:参数'origin/my_branch'不明确:未知修订或路径不在工作树中。
    是否存在“
    工作树
    位的问题?
    git remote add upstream https://github.com/lakini/example.git
    
    git reset --hard origin/branch1