我的情况是,我想开源我的项目,但是有一个源文件,我想发布一个“干净”的版本,但在本地使用一个单独的版本。git有没有一个特性,我可以只提交一个文件一次,并且从现在开始它就不再寻找对该文件的更改?
我曾尝试将该文件添加到.gitignore,但在第一次对该文件执行git add -f
和git commit
操作并再次编辑之后,git status
将该文件显示为已更改。理想的行为是git从现在开始不再显示这个文件,即使我已经编辑了它。
我也会感兴趣的是,在推向开源repo之前,其他人是如何处理“清理”私有代码/数据的代码库的,特别是在Git上。
发布于 2015-05-23 01:16:03
使用update-index
、here are the docs。
以下是冻结文件foo.rb
的基本示例
git update-index --assume-unchanged foo.rb
然后,为了找回它:
git update-index --no-assume-unchanged foo.rb
或者为简单起见,将其添加到.gitconfig
freeze = update-index --assume-unchanged
thaw = update-index --no-assume-unchanged
...
git freeze foo.rb
git thaw foo.rb
注意:这个答案最初是由@TheAmpersand在上面的评论中提供的。我认为这是非常重要的,需要正式化。
发布于 2011-01-17 13:36:38
一种方法是将对该文件的更改放在本地分支中。在该分支中完成您的工作,然后忽略您的更改,将其重新设置为正在进行开发的实际分支。
https://stackoverflow.com/questions/4710249
复制相似问题