freeCodeCamp/guide/chinese/miscellaneous/override-local-files-with-g.../index.md

1.6 KiB
Raw Blame History

title localeTitle
Override Local Files with Git Pull 使用Git Pull覆盖本地文件

什么时候需要覆盖本地文件?

如果您觉得需要丢弃所有本地更改,只需使用远程分支中的副本重置/覆盖所有内容,则应遵循本指南。

重要提示:如果您有任何本地更改,它们将丢失。无论有没有--hard选项,任何未被推送的本地提交都将丢失。
如果您有任何未被Git跟踪的文件例如上传的用户内容则这些文件不会受到影响。

覆盖工作流程:

要覆盖本地文件,请执行以下操作:

git fetch --all 
 git reset --hard <remote>/<branch_name> 

例如:

git fetch --all 
 git reset --hard origin/master 

这个怎么运作:

git fetch从远程下载最新版本而不尝试合并或重新绑定任何内容。

然后git reset将master分支重置为刚刚获取的分支。 --hard选项更改工作树中的所有文件以匹配origin/master中的文件。

附加信息:

值得注意的是,可以通过在重置之前从master或要处理的任何分支创建分支来维护当前的本地提交:

例如:

git checkout master 
 git branch new-branch-to-save-current-commits 
 git fetch --all 
 git reset --hard origin/master 

在此之后,所有旧提交将保留在new-branch-to-save-current-commits 。然而,未提交的更改(即使是暂存的)也将丢失。确保存储并提交您需要的任何内容。

归因:

这篇文章是基于一个堆栈溢出问题在这里