首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有办法在Git中“冻结”一个文件?

有没有办法在Git中“冻结”一个文件?
EN

Stack Overflow用户
提问于 2011-01-17 13:25:02
回答 2查看 6.2K关注 0票数 22

我的情况是,我想开源我的项目,但是有一个源文件,我想发布一个“干净”的版本,但在本地使用一个单独的版本。git有没有一个特性,我可以只提交一个文件一次,并且从现在开始它就不再寻找对该文件的更改?

我曾尝试将该文件添加到.gitignore,但在第一次对该文件执行git add -fgit commit操作并再次编辑之后,git status将该文件显示为已更改。理想的行为是git从现在开始不再显示这个文件,即使我已经编辑了它。

我也会感兴趣的是,在推向开源repo之前,其他人是如何处理“清理”私有代码/数据的代码库的,特别是在Git上。

EN

回答 2

Stack Overflow用户

发布于 2015-05-23 01:16:03

使用update-indexhere are the docs

以下是冻结文件foo.rb的基本示例

代码语言:javascript
复制
git update-index --assume-unchanged foo.rb

然后,为了找回它:

代码语言:javascript
复制
git update-index --no-assume-unchanged foo.rb

或者为简单起见,将其添加到.gitconfig

代码语言:javascript
复制
freeze = update-index --assume-unchanged
thaw = update-index --no-assume-unchanged
...
git freeze foo.rb
git thaw foo.rb

注意:这个答案最初是由@TheAmpersand在上面的评论中提供的。我认为这是非常重要的,需要正式化。

票数 12
EN

Stack Overflow用户

发布于 2011-01-17 13:36:38

一种方法是将对该文件的更改放在本地分支中。在该分支中完成您的工作,然后忽略您的更改,将其重新设置为正在进行开发的实际分支。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4710249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档