git 防止删除被忽略的文件
git prevent deleting ingored files
我需要同一文件的两个不同版本 - 一个在本地机器上,一个在服务器上(repo)。
我已将文件放入 .gitignore
,但现在每次推送时都会删除存储库中的文件。
如何防止删除存储库中的文件?
谢谢!
使用此标志将您的本地更改标记为未更改,这样 git 将不会跟踪任何更改,包括您的文件删除。
暂时忽略某个文件的修改,运行:
git update-index --assume-unchanged <file>
当您想再次跟踪更改时:
git update-index --no-assume-unchanged <file>
--[无-]assume-unchanged
When this flag is specified, the object names recorded for the paths are not updated.
Instead, this option sets/unsets the "assume unchanged" bit for the paths.
When the "assume unchanged" bit is on, the user promises not to change the file and allows Git to assume that the working tree file matches what is recorded in the index. If you want to change the working tree file, you need to unset the bit to tell Git. This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs).
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.
我需要同一文件的两个不同版本 - 一个在本地机器上,一个在服务器上(repo)。
我已将文件放入 .gitignore
,但现在每次推送时都会删除存储库中的文件。
如何防止删除存储库中的文件? 谢谢!
使用此标志将您的本地更改标记为未更改,这样 git 将不会跟踪任何更改,包括您的文件删除。
暂时忽略某个文件的修改,运行:
git update-index --assume-unchanged <file>
当您想再次跟踪更改时:
git update-index --no-assume-unchanged <file>
--[无-]assume-unchanged
When this flag is specified, the object names recorded for the paths are not updated.
Instead, this option sets/unsets the "assume unchanged" bit for the paths.When the "assume unchanged" bit is on, the user promises not to change the file and allows Git to assume that the working tree file matches what is recorded in the index. If you want to change the working tree file, you need to unset the bit to tell Git. This is sometimes helpful when working with a big project on a filesystem that has very slow lstat(2) system call (e.g. cifs).
Git will fail (gracefully) in case it needs to modify this file in the index e.g. when merging in a commit; thus, in case the assumed-untracked file is changed upstream, you will need to handle the situation manually.