use*_*546 2 git version-control
我正在本地计算机上进行项目。所以我有不同的数据库详细信息,所以我编辑了2个文件。
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: product/db.py
modified: product/prms.py
Run Code Online (Sandbox Code Playgroud)
现在我不想提交它,并且想在本地忽略它们,因此无论我在这些文件中进行什么编辑,它们都永远不会被推送到远程仓库中
我试着把它们放进去
.git/info/exclude
然后我做到了
git rm --cached <file>
但是系统正在删除它们
要提交的更改:(使用“ git reset HEAD ...”取消登台)
deleted: product/db.py
deleted: product/prms.py
Run Code Online (Sandbox Code Playgroud)
但我也不想删除它们
我该如何解决
编辑:我不想为此推送任何东西到远程仓库。我只想仅从计算机角度忽略对这些文件的编辑。这样,当我上班去然后在该文件中进行更改时,它应该可以正常工作。但在我家中,任何编辑对git都是不可见的
方法1:
不要提交每个开发人员都不同的文件。我所有的配置文件(例如config.yaml)都在.gitignore;对于每个,我将有另一个文件(例如config.yaml.template),该文件将向开发人员显示他们需要的外观,仅在结构更改时才进行编辑。
方法二:
git update-index --assume-unchanged product/db.py product/prms.py
Run Code Online (Sandbox Code Playgroud)
将允许您更改文件,并且git不会提交它们。如果您确实希望再次提交它们,请使用重新运行它们--no-assume-unchanged。