我有一个git repo的本地工作副本,并且需要进行一些更改才能进行本地测试,但是我不希望在执行add --all
和时将这些更改发送到远程commit
。
基本上文件是:
/protected/config/*
/protected/components/UserIdentity.php
我尝试将它们添加到中.git/info/exclude
,但git status
仍显示更改(已经对文件进行了更改)。
我需要将文件保留在远程目录中,但是必须在本地对其进行更改并不受例如。pull
。
有办法吗?
该站点的作者提出了一个解决方案:
git update-index --assume-unchanged <file>
将忽略对跟踪文件的本地修改,并且
git update-index --no-assume-unchanged <file>
将撤消上一个命令。即使git commit --all
假定未更改的文件也不会上演,此工作也不会进行。
阅读git-update-index手册页后,您还可以看到在提交后该位没有被重置,因此您必须进入--no-assume-unchanged
文件/路径或执行操作agit update-index --really-refresh
来取回所有修改。
如果与git pull
该文件中已修改的内容(分支/标记/提交)合并(例如,执行时),您将获得一个
error: Your local changes to the following files would be overwritten by merge:
错误,合并中止。
因此,不,如果上游有修改,它将无法与git-pull一起使用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句