Oli*_*ier 158
这是最安全的解决方案:
git stash
Run Code Online (Sandbox Code Playgroud)
现在你可以做任何你想做的事而不用担心冲突.
例如:
git checkout origin/master
Run Code Online (Sandbox Code Playgroud)
如果要在主分支中包含远程更改,可以执行以下操作:
git reset --hard origin/master
Run Code Online (Sandbox Code Playgroud)
这将使您分支"master"指向"origin/master".
seh*_*ehe 42
我理解这个问题:你想从上游完全替换一个文件(或选择)的内容.您不希望直接影响索引(因此您将像往常一样通过add + commit).
简单地做
git checkout remote/branch -- a/file b/another/file
Run Code Online (Sandbox Code Playgroud)
如果你想为广泛的子树做这个,而是希望直接影响索引使用
git read-tree remote/branch:subdir/
Run Code Online (Sandbox Code Playgroud)
然后,您可以(可选)通过执行更新工作副本
git checkout-index -u --force
Run Code Online (Sandbox Code Playgroud)
Alm*_*pos 10
我的理解是,例如,您错误地保存了一个已更新的文件,仅用于测试目的.然后,当你运行"git status"时,文件显示为"已修改",你会说一些不好的话.您只想恢复旧版本并继续正常工作.
在那种情况下,您只需运行以下命令:
git checkout -- path/filename
Run Code Online (Sandbox Code Playgroud)
将-sor--strategy选项与选项结合使用-X。在您的具体问题中,您希望保留所有远程文件并替换同名的本地文件。
替换与远程版本的冲突
git merge -s recursive -Xtheirs upstream/master
Run Code Online (Sandbox Code Playgroud)
将使用所有冲突文件的远程仓库版本。
替换与本地版本冲突
git merge -s recursive -Xours upstream/master
Run Code Online (Sandbox Code Playgroud)
将使用所有冲突文件的本地 repo 版本。
我会从“主服务器”(远程/原始存储库)中签出远程文件,如下所示:
git checkout master <FileWithPath>
Run Code Online (Sandbox Code Playgroud)
示例:git checkout主组件/indexTest.html
| 归档时间: |
|
| 查看次数: |
160177 次 |
| 最近记录: |