git 子模块是在工作副本中拥有工作副本的唯一安全方法吗?
在我的场景中,我有一个程序可以分析数据输入文件并生成其他数据输出文件。 我想要对程序进行版本控制,并且想要对数据文件进行版本控制,并且作为偏好,我希望在程序的工作副本中拥有数据文件的工作副本。 我希望程序和数据分开进行版本控制,以减少“噪音”。 该程序不依赖于数据文件。
如果我使用 git 子模块,那么当数据目录中发生事情(我认为已提交更新)时,程序的版本控制会指出子模块有更新。 如果程序依赖于数据,这会很有用,但事实并非如此。
在这种情况下,是否可以在不使用 git 子模块的情况下在另一个工作副本中拥有一个工作副本?
In my scenario, I have a program that analyzes data input files and produces other data output files. I want to version control the program, and I want to version control the data files, and as a matter of preference, I want to have the working copy of the data files within the working copy of the program. I want the program and data to be version controlled separately to reduce "noise". The program does not have a dependency on the data files.
If I use git submodules, then when things happen within the data directory (committed updates I think), the version control for the program notes that there's an update with the submodule. Which'd be useful if the program depended on the data, but it doesn't.
In such a scenario, is it possible to have a working copy within another working copy without using git submodules?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
可以简单地将工作副本“嵌套”在 Git 中。 因此,如果您克隆程序存储库,然后在其中克隆数据文件,那么您就可以独立使用它们。 当 Git 执行文件操作时,它会向上搜索目录树以查找
.git
目录,因此在数据存储库中执行的 Git 操作不会影响程序存储库。 如果这样做,您可能需要将数据目录的名称添加到.gitignore
以减少程序存储库中的噪音。It's possible to simply "nest" working copies in Git. So if you clone your program repository, then inside that make a clone of your data files, then you can work with them independently. When Git performs file operations, it searches up the directory tree looking for a
.git
directory, so Git operations performed in the data repository won't affect the program repository. If you do this, you may want to add the name of the data directory to.gitignore
to reduce noise from the program repository.我认为,在您有需要版本控制的插件的情况下,这也是使用 Heroku 和 Rails 的一个有用的解决方法。 目前,Heroku 不支持 git 子模块,因此嵌套工作副本似乎是最好的解决方案。 在这种情况下,您不想将插件目录添加到 .gitignore,因为在这种情况下,您将无法在推送到 heroku 时上传插件,但可以这样。 希望 Heroku 最终能够支持 git 子模块。
This is also a useful workaround methinks in working with Heroku and rails in situations where you have plugins that need to be versioned. Currently, Heroku does not support git submodules, so nesting working copies seems like the best solution. In this case, you wouldn't want to add the plugin directory to .gitignore, as in this case you would fail to upload your plugins on pushing to heroku, but se la vi. Hopefully, Heroku will eventually support git submodules.