将 Git 与共享(符号链接)目录结合使用
我正在开发一个带有多个非常复杂的小部件的大型 Qt 应用程序。该小部件之一是网络摄像头流查看器。
应用程序的组织方式使得每个程序模块(即小部件)都使用 .pri 文件存储在其自己的目录中。所有这些都存储在一个主目录中,该主目录将所有小部件目录分组。
在这个主项目目录旁边,我还有应用程序目录。让我们为每个小部件指定一个。在这些目录中,我有一个指向主项目文件夹中的模块目录的符号链接(Windows 上的别名)。然后,该应用程序具有构建仅显示小部件的独立应用程序所需的代码。例如,我有一个网络摄像头查看器应用程序,另一个用于控制某些设备等。
这个源代码组织运行良好,允许我在独立应用程序中开发和测试小部件,同时与主应用程序共享代码。
目前只有主项目目录使用 subversion 进行版本控制。
现在我想开始使用 git 并想知道这个共享目录模型是否可以使用或者是否有更好的方法来做到这一点。
I'm working on a big Qt application with multiple widgets which are quite complex. One of this widget is a webcam stream viewer.
The application is organized so that each program module (i.e. widgets) is stored in its own directory with a .pri file. All these are stored in one main directory grouping all the widget directories.
Next to this main project directory I also have application directories. Let say one for each widget. In these directory I have a symbolic link (alias on windows) to the module directory in the main project folder. This application has then the necessary code to build a standalone application showing only the widget. So for instance I have a webcam viewer application, another to control some devices, etc.
This source code organization works well and allows me to develop and test the widgets in independent applications while sharing the code with the main application.
Currently only the main project directory is under version control using subversion.
Now I would like to start using git and would like to know if this shared directory model would work with it or if there is a better way to do it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用子模块,您可以定义:
这样,您的主项目引用所有小部件,但您只能关注并测试其中的一个小部件,具体取决于您所在的分支。
或者您可以只克隆一个小部件/测试应用程序存储库并仅对其进行工作。
我们的想法仍然是:确保在一个 Git 存储库中拥有相关数据。
这就是为什么您不会在一个 Git 存储库中找到所有 小部件,因为它们的开发生命周期可能与另一个小部件非常不同。
Using submodules, you could define:
That way, your main project references all widgets, but you can only focus and test on one on them, depending the branch you are in.
Or you can just clone one of the widget/test app repos and work only on that.
The idea remains: make sure to have related data within one Git repo.
That is why you won't find all widgets within one Git repo, because their development lifecycle could be very different one widget from another.