在 Git 中覆盖本地更改
本文将讨论如何使用 Git 中的 git pull
命令覆盖本地更改。
使用 git pull
命令覆盖 Git 中的本地更改
git pull
命令从远程获取文件并将其合并到本地仓库。我们首先需要了解 git pull
命令是如何覆盖文件的。
git pull
命令是两个命令的组合:
-
git fetch
命令 -
git merge origin/Branch
命令
当我们运行 git pull
命令时,Git 会从你克隆的仓库 origin
中获取更改,并将它们与本地仓库中的当前分支合并。
只有当你没有未提交的更改时,Git 才会成功运行 git pull
命令。如果你的索引有一些未提交的更改,你可能会遇到错误。
使用 Git 删除未提交的本地更改
如果你不需要索引中未提交的更改,请在下面的上下文中使用 git reset
命令。
git fetch
git reset --hard HEAD
git merge origin/$CURRENT_BRANCH
git reset --hard HEAD
将丢弃未提交的更改以允许 git merge
命令运行。
对于那些不想指定要从中获取的分支的人,Git 有一个快捷方式,使用命令行中的 @{u}
参数。
git fetch
git reset --hard HEAD
git merge '@{u}'
使用 Git 保留未提交的本地更改
对于那些不想摆脱未提交更改的人,你可以提交或存储它们。隐藏你的提交会使它们远离你的索引,你可以稍后恢复它们。
更改仍在 Git 上,但不可见。在从仓库中提取之前运行 git stash
命令。
你可以使用 git stash pop
命令恢复隐藏的更改。请注意,git stash pop
命令将应用你的更改,从你的列表中删除存储。
git fetch
git stash
git merge '@{u}'
git stash pop
如果上述方法不起作用,我们总是有 git pull --force
命令。
你需要使用此命令指定源分支和接收分支。它与 git fetch --force
非常相似。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。