拉取并替换现有的文件

问题描述 投票:8回答:4

我想将一个分支(master分支)拉到当前的存储库,并替换现有的文件,而不仅仅是合并文件,命令git pull不适合我的需求,怎么做?

git
4个回答
6
投票

为什么你认为它不合适?

git pull会将您的分支更新为远程存储库的相同状态,因此如果您拥有的文件位于远程版本的较新版本,则会被替换。

编辑

如果在拉取之后,使用本地更改完成合并,则可以使用以下命令重置为远程存储库的状态:

git reset origin/head -- <file-path>

5
投票

如果要替换单个文件,可以使用它。

git checkout -- filename

Click here了解更多详情


1
投票

所以你已经做了一个影响这个文件的本地提交,并希望丢弃你的提交,只是在不合并的情况下采取远程状态,是吗?

假设没有其他人看到你的本地提交(即你没有push和没有pulled从你的回购),你可以在提交之前将你的本地HEAD回复,然后做拉。

NB。如果你不确定,首先运行git fetch,然后git status将告诉你pull是快进还是合并操作。快进意味着您的本地更改不在图片中。


-1
投票

提问者实际上确切地知道他在说什么,并且只需要回答机械方法,而不是哲学讨论,这很可能是真的。

git checkout - (双破折号)然后是文件名,双破折号和文件名之间的空格

git checkout - [repo中包含路径的文件名]

示例:git checkout - views / userEditor.pug

少哲学,更实际的帮助。啧。

© www.soinside.com 2019 - 2024. All rights reserved.