我想将一个分支(主分支)拉到当前存储库,并替换现有的文件,而不仅仅是合并文件,命令git pull
不适合我的需要,怎么做?
答案 0 :(得分:6)
为什么你认为这不合适?
git pull
会将您的分支更新为远程存储库的相同状态,因此如果您拥有的文件位于远程版本的较新版本,则会被替换。
修改
如果在拉取之后,使用本地更改完成合并,则可以使用以下命令重置为远程存储库的状态:
git reset origin/head -- <file-path>
答案 1 :(得分:5)
答案 2 :(得分:1)
所以你做了一个影响这个文件的本地提交,并希望丢弃你的提交,只是在没有合并的情况下采取远程状态,是吗?
假设没有其他人看到过您的本地提交(即,您没有push
并且没有pull
来自您的回购邮件),您可以在提交之前将本地HEAD发回,然后做拉。
NB。如果您不确定,请先运行git fetch
,然后git status
将告诉您pull是快进还是合并操作。快进意味着您的本地更改不在图片中。
答案 3 :(得分:-1)
提问者实际上确切地知道他正在谈论什么,并且只需要回答机械方法,而不是哲学讨论,这很可能是真的。
git checkout - (双破折号)然后是文件名,双破折号和文件名之间的空格
git checkout - [repo中包含路径的文件名]
例如: git checkout - views / userEditor.pug
少哲学,更实际的帮助。啧。