git将本地版本替换为远程版本

git将本地版本替换为远程版本,git,Git,如何让git忽略本地文件并从远程分支获取该文件,而不尝试合并并导致冲突?这是最安全的解决方案: git stash 现在你可以做任何你想做的事而不用担心冲突 例如: git checkout origin/master 如果要在主分支中包含远程更改,可以执行以下操作: git reset --hard origin/master 这将使您将“master”分支指向“origin/master”。我的理解是:您希望完全替换上游的一个文件(或一个选择)的内容。您不希望直接影响索引(因此您将像往

如何让git忽略本地文件并从远程分支获取该文件,而不尝试合并并导致冲突?

这是最安全的解决方案:

git stash
现在你可以做任何你想做的事而不用担心冲突

例如:

git checkout origin/master
如果要在主分支中包含远程更改,可以执行以下操作:

git reset --hard origin/master

这将使您将“master”分支指向“origin/master”。

我的理解是:您希望完全替换上游的一个文件(或一个选择)的内容。您不希望直接影响索引(因此您将像往常一样通过add+commit)

干脆

git checkout remote/branch -- a/file b/another/file
如果要对扩展子树执行此操作,而希望直接影响索引,请使用

git read-tree remote/branch:subdir/
然后,您可以(可选)通过执行以下操作更新工作副本

git checkout-index -u --force

-s
--strategy
选项与
-X
选项结合使用。在您的特定问题中,您希望保留所有远程文件并替换同名的本地文件

用远程版本替换冲突

git merge -s recursive -Xtheirs upstream/master  
git merge -s recursive -Xours upstream/master
将使用所有冲突文件的远程repo版本

用本地版本替换冲突

git merge -s recursive -Xtheirs upstream/master  
git merge -s recursive -Xours upstream/master

将使用所有冲突文件的本地回购版本。

我的理解是,例如,您错误地保存了一个仅为测试目的而更新的文件。然后,当您运行“git status”时,文件显示为“Modified”,您会说一些不好的话。您只需要恢复旧版本并继续正常工作

在这种情况下,您只需运行以下命令:

git checkout -- path/filename

我将从“master”(远程/源存储库)签出远程文件,如下所示:

git checkout master <FileWithPath>
git签出主机
例如:
git checkout master components/indexTest.html

可能值得指出的是,这将分离头部-提问者可能更喜欢使用
git stash停留在分支上;git取源;git reset——硬源代码/主代码
我认为Mark Longair的评论是这个问题的实际答案。这是对我最有用的答案+1如何回到git隐藏之前的状态
git隐藏列表
是空的。我想拥抱你,看看如何回答“”,了解当前所有可能的方法来模拟
git合并-s它们的
。如果你能提供更多细节,那会很有帮助。您希望采用远程分支的所有文件的内容,还是仅采用部分文件(即保留一些本地版本/更改)?你想保留当地的历史吗?(如果有任何其他分支或存储库已经合并了您的本地历史,这可能很重要。)如果您想保留您的本地历史,您打算以后如何处理它?(您可以留下一个指向本地历史的标记,然后将您的分支重置为远程的分支,或者您可能希望“合并它们的分支”)。问题中还有一个类似这样的线程,这正是我想要的。谢谢。对我来说,工作就像“git收银台遥控器/origin/master”