java - 代码只能在远程服务器上运行时的良好版本控制实践

标签 java git intellij-idea versioning

这里是非常糟糕的做法的好例子:

我目前正在处理一个快速增长的 (Java) 代码库,并且正在努力定义我们的版本控制实践。为了给您一些背景知识,我们的程序只能在远程服务器上运行(其中包含我们无法移动到其他任何地方的大量数据)。截至目前,我们都在本地机器上编码,每次我们想要看到输出时都需要提交(我们使用 git),这远非理想。有什么简单的方法可以避免这种情况吗?

现在,我们也只使用一个分支——我知道——在代码库稳定性方面这是一种非常糟糕的做法。 master 分支在本地编译(这是一个大型 IntelliJ IDEA 项目,有很多文件和依赖项),然后在提交期间将二进制文件推送到服务器。我想将编译过程移到服务器上,这样我们就不必在本地编译了。你会如何处理(我特别担心依赖关系)?

非常感谢您的帮助!

最佳答案

首先我想指出的是,使用单个分支不一定是坏事: 1. 如果要“破坏”它,有一些方法可以阻止代码被 merge 到远程主机中 2. 对于某些团队设置,单个分支可以使编码更快、更安全(通过鼓励许多小更改来替代少量大更改)

但是继续您关于“远程构建”的问题。 无论何时推送/merge 代码,您都可以使用 bamboo/jenkins/其他一些 CI 服务器在远程代理(可能是您的目标机器)上构建您的代码。 要管理您的构建(特别是帮助依赖管理),我建议使用 maven/gradle(另外,如果它对您的代码库有意义,您可能希望将您的 maven 工件“部署”到远程服务器上)

关于java - 代码只能在远程服务器上运行时的良好版本控制实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53731382/

相关文章:

java - 如何修复 "Prefs file removed in background/home/steven/.java/.userPrefs/prefs.xml"错误?

git - 将 git 与 Doxygen FILE_VERSION_FILTER 结合使用

git - 从 protected github 仓库中获取单个 LFS 文件

string - 在intellij中注入(inject)语言引用时如何关闭小编辑器窗口?

java - 为什么 Intellij 在我的一个 Java 类的类图标上显示一个叉 (x)?

java - 在 Windows 中从命令行执行 java 程序失败

java - 用于连接不同数据库的枚举常量的线程安全性

java - 如何为 Android 和 iOS 使用相同的 C++ 代码?

git突然开始每次都要求SSH key 密码

java - FireFox 驱动程序不适用于 Selenium