git用远程版本replace本地版本

我怎么能告诉git忽略我的本地文件,并采取从我的远程分支没有尝试合并,并导致冲突?

这是最安全的解决scheme:

 git stash 

现在你可以做任何你想要的而不用担心冲突。

例如:

 git checkout origin/master 

如果您想要在主分支中包含远程更改,您可以执行以下操作:

 git reset --hard origin/master 

这将使你分支“主”指向“起源/主”。

我理解这个问题:你想从上游完全replace一个文件(或select)的内容。 你不想直接影响索引(所以你会像往常一样通过添加+提交)。

简单地做

 git checkout remote/branch -- a/file b/another/file 

如果你想为广泛的子树做这个,而是希望影响索引直接使用

 git read-tree remote/branch:subdir/ 

然后你可以(可选地)通过做更新你的工作副本

 git checkout-index -u --force 

我的理解是,例如,你错误地保存了一个你为了testing目的而更新的文件。 然后,当你运行“git status”时,这个文件会显示为“Modified”,并且你会说一些不好的单词。 你只是想要旧版本,并继续正常工作。

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

 git checkout -- path/filename 

-s--strategy选项与-X选项结合使用。 在你的具体问题中,你想保留所有的远程文件,并replace同名的本地文件。

用远程版本replace冲突

 git merge -s recursive -Xtheirs upstream/master 

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

用本地版本replace冲突

 git merge -s recursive -Xours upstream/master 

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