拉取并替换现有的文件

时间:2011-09-05 11:19:01

标签: git

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

4 个答案:

答案 0 :(得分:6)

为什么你认为这不合适?

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

修改

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

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

答案 1 :(得分:5)

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

git checkout -- filename

Click here了解更多详情

答案 2 :(得分:1)

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

假设没有其他人看到过您的本地提交(即,您没有push并且没有pull来自您的回购邮件),您可以在提交之前将本地HEAD发回,然后做拉。

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

答案 3 :(得分:-1)

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

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

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

例如: git checkout - views / userEditor.pug

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