在远程机器和git上开发 - 最佳实践
我一直在开发软件系统,这些软件系统通常最终会训练大型模型,然后在过去6年中对许多远程云实例进行评估。我主要使用Python和Pytorch作为项目的主要两个组成部分。
最近,我采用了一种非常强大的Git承诺道德,并采用了适当的消息传递格式等,并一直使用连续集成来开发大型开源项目。
越来越清楚的是,将Git用作将代码“上传”到云的一种手段并不是同步我的存储库的最佳方法,因为那留下了垃圾提交信息等的踪迹。我还尝试使用诸如Pycharm的远程之类的东西同步功能,但不幸的是,这意味着我的代码仅在挥发性远程机器和挥发性本地机器上留下。
我想知道,是否有适当的方法将GIT用作同步代理和开发跟踪剂?我在这里做事的方式是完全愚蠢的吗?
只是想听听其他人在那里做什么。感谢您的时间和关注。
I've been developing software systems that generally end up training large scale models and then evaluating them on a number of remote cloud instances, for the past 6 years. I am using primarily Python and PyTorch as the main two components of my projects.
Recently, I adopted a very strong git commit ethic with proper messaging formats etc, and been using continual integration to develop large open source projects.
What has become increasingly clear is that using Git as a means of 'uploading' code to the cloud is not the best way of syncing my repo, since that leaves a trail of rubbish commit messages etc. I have also tried using something like Pycharm's remote syncing functionality, but unfortunately that means that my code only leaves on a volatile remote machine and a volatile local machine.
I am wondering, is there a proper way to use Git as a syncing agent and a development tracking agent? Is my way of doing things completely stupid here?
Just looking to hear what other people do out there. Thanks for your time and attention.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
(这个问题似乎更适合SoftwareEngineering.stackexchange.com)
我将使用rsync将可执行代码同步到执行的远程计算机,同时仅使用GIT进行代码修订控制。如有必要,我将设置另一台远程计算机作为备份,或作为与同事共享代码的存储库。我可能想使用标签(不是分支)将某个结果绑定到复制它的代码。而且我可能需要一个单独的笔记本(可能是电子表格),解释了我在该标签中进行更改的原因以及为什么(尽管Git Notes似乎也很方便)。
(This question seems more suitable for softwareengineering.stackexchange.com)
I'd use rsync to synchronize the executable code to the remote machine that executes, while using git only for code revision control. If necessary, I'd set up another remote machine to store the canonical main branch as a backup, or as a repository to share the code with colleagues. I may want to use tags (not branches) to tie a certain result to the code that reproduces it. And I'd probably need a separate notebook (could be a spreadsheet) that explains what and why I did the change in that tag (though git notes seems handy for that too).