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
将使用所有冲突文件的本地回购版本。