Git忽略本地文件更改

fcwjkofz  于 2023-03-11  发布在  Git
关注(0)|答案(5)|浏览(214)

我都试过了

git update-index --assume-unchanged config/myconfig

以及
编辑.git/info/exclude并添加config/myconfig
但是当我使用git pull时,我总是得到:
更新0156 abc ..1cfd6a5时出现错误:合并将覆盖您对下列文件的本地更改:config/myconfig请在合并之前提交更改或将其隐藏。正在中止
我错过了什么?

6yjfywim

6yjfywim1#

git pull希望您删除或保存当前工作,以便它触发的合并不会导致与您未提交的工作冲突。请注意,如果您提取的更改会在与本地未提交文件相同的位置创建文件,则只需删除/保存未跟踪的文件。

删除未提交的更改

跟踪的文件

git checkout -f

未跟踪的文件

git clean -fd

保存您的更改供以后使用

跟踪的文件

git stash

跟踪的文件和未跟踪的文件

git stash -u

git pull之后重新应用您的最新库存:

git stash pop
fdx2calv

fdx2calv2#

很可能是你安排的。

git add src/file/to/ignore

要撤消暂存文件,

git reset HEAD

这将取消暂存文件,允许下面的git命令成功执行。

git update-index --assume-unchanged src/file/to/ignore
gjmwrych

gjmwrych3#

你可能需要在执行git pull之前先执行一个git stash,这是因为它正在阅读你的旧配置文件。

git stash
git pull
git commit -am <"say first commit">
git push

另请参见git-stash(1) Manual Page

k2arahey

k2arahey4#

如果您不想您的本地更改,然后执行下面的命令忽略(永久删除)本地更改。

  • 如果是未暂存的更改,则执行 checkout (git checkout <filename>git checkout -- .
  • 如果其已分阶段更改,则首先执行重置(git reset <filename>git reset),然后执行 checkout (git checkout <filename>git checkout -- .
  • 如果是未提取的文件/文件夹(新创建),则执行清理(git clean -fd

如果你不想丢失你的本地修改,那么先把它藏起来,然后拉或者变基,然后再合并你的修改。

  • 执行git stash,然后从repo git pull orign mastergit rebase origin/master获取最新更改,然后合并来自stash git stash pop stash@{0}的更改
5lwkijsr

5lwkijsr5#

在Git 2.23中引入了git restore。详细信息请查看堆栈溢出和www.git-tower.com
以下是用于放弃本地更改和取消转移更改的命令:
放弃本地修订
git restore .git restore file1 file2 ...
放弃本地未跟踪的更改
git clean -fd
要取消暂存更改:
git restore --staged .git restore --staged file1 file2 ...

相关问题