我有一个git repo的本地工作副本,它需要进行一些更改才能进行本地测试,但我不希望在swift
时将这些更改发送到远程和clang
。
基本上文件是:
add --all
我尝试将这些内容添加到commit
,但/protected/config/*
/protected/components/UserIdentity.php
仍会显示更改(已经对文件进行了更改)。
我需要将文件保留在遥控器中,但在本地它们必须被更改并且免于例如。 .git/info/exclude
。
有办法吗?
答案 0 :(得分:1)
此site的作者提出了一个解决方案:
git update-index --assume-unchanged <file>
将忽略对跟踪文件的本地修改和
git update-index --no-assume-unchanged <file>
将撤消上一个命令。即使使用git commit --all
作为假设未更改的文件,这项工作也不会暂存。
阅读git-update-index man-page您还可以看到提交后此位未重置,因此您必须--no-assume-unchanged
文件/路径或执行git update-index --really-refresh
才能获得所有修改
如果与某个东西(分支/标记/提交)合并(例如在执行git pull
时)在该文件中有修改,则会得到
error: Your local changes to the following files would be overwritten by merge:
错误,合并中止。
所以,不,如果上游有修改,它就不会使用git-pull。