Git 忽略本地文件更改

我都试过了

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

还有

编辑 .git/info/exclude并添加 config/myconfig

然而,当我做 git pull 的时候,我总是得到:

更新0156abc. . 1 cfd6a5 错误: 您对下列文件的本地更改将被合并覆盖: Config/myconfig 请在合并之前提交更改或隐藏它们。 终止任务

我错过了什么?

194122 次浏览

您可能需要在 git pull之前执行 git stash,这是因为它正在读取您的旧配置文件。所以:

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

也请参阅 Git-stash (1)手册页

git pull希望您删除或保存当前工作,以便它触发的合并不会与未提交的工作产生冲突。请注意,只有当您所提取的更改与本地未提交文件位于相同的位置时,才需要删除/保存未跟踪文件。

删除未提交的更改

追踪文件

git checkout -f

未追踪的文件

git clean -fd

将更改保存到以后

追踪文件

git stash

跟踪文件和未跟踪文件

git stash -u

git pull之后重新使用你最新的存货:

git stash pop

你很有可能把文件放在。

git add src/file/to/ignore

为了撤销伪造的文件,

git reset HEAD

这将卸载文件,以便成功执行以下 git 命令。

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

如果不希望进行本地更改,请执行以下命令忽略(永久删除)本地更改。

  • 如果它的非暂存更改,那么执行签出(git checkout <filename>git checkout -- .)
  • 如果它的阶段性变化,那么首先做复位(git reset <filename>git reset) ,然后做结帐(git checkout <filename>git checkout -- .)
  • 如果它是解压缩的文件/文件夹(新创建的) ,那么执行 clean (git clean -fd)

如果您不想丢失您的本地更改,那么将其隐藏起来,并进行拉取或重新定位。稍后从存储合并您的更改。

  • 执行 git stash操作,然后从回购 git pull orign mastergit rebase origin/master中获得最新的更改,然后合并隐藏的 git stash pop stash@{0}中的更改