git - 如何使用不同的 pathdef 同时运行两个 MATLAB 实例?

标签 git path git-clone matlab

我正在开发我自己的在 MATLAB 和 SPM8 下运行的脑成像工具箱,同时我有一个我自己的工具箱代码目录(本地 git 存储库)的 git clone 版本对于运行分析,此设置是根据 Kevin Reid 在 How to work simultaneously on several different versions of files with git? 上的回答创建的,这解决了部分问题(如何同时访问同一 .m 文件的不同版本,并且仍然可以通过使用 git fetch 进行同步git pull).

但是,我的 MATLAB 安装不在这两个 git 目录中;它通常安装在 /usr/local/MATLAB/R2012a/ 中。 MATLAB 根据pathdef.m 查找函数,它存储在which pathdef (/usr/local/MATLAB/R2012a/toolbox/local/pathdef.m ) 作为常规函数。所以我不能让两个 MATLAB 实例同时运行,这样它们就有不同的 pathdef,至少不能通过修改 pathdef.m 文件来实现。

当然,MATLAB 必须事先知道在哪里寻找 pathdef.m 来定义路径。有没有办法改变 pathdef.m 查找路径,例如。通过一些 MATLAB 命令行参数或从 MATLAB 控制台?或者通过其他方式,以便我可以同时运行两个具有不同 pathdef 的 MATLAB 实例?或者我应该在两个不同的目录中安装 MATLAB?我对这个问题的各种解决方案都很感兴趣。

最佳答案

让我提供另一种方法。它涉及创建 shortcuts在 MATLAB IDE 中。

只需创建两个快捷方式,每个快捷方式包括如下内容:

addpath(genpath('/path/to/project_branch'))   %// add branch (and subfolders) to MATLAB path
cd('/path/to/project_branch')                 %// navigate to directory

(说明:调用 addpath 不会在系统范围内保存更改,但只会在当前 session 中持续存在,除非您调用 savepath )

现在,无论何时开始新的 MATLAB session ,并决定在一个或另一个分支上工作,只需单击相应的快捷方式并开始破解...

更好的是,如果您将一个分支视为stable,将另一个分支视为dev,则可以将稳定的分支永久添加到路径中,并有选择地添加开发版本在路径的顶部 addpath('...','-begin') 使用快捷方式,从而仅 stash 当前 session 的另一个分支。

screenshot

关于git - 如何使用不同的 pathdef 同时运行两个 MATLAB 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10903487/

相关文章:

git - 如何强制子树推送覆盖远程更改?

git - BitBucket 上的错误消息 "Someone has already registered this as a deploy key"

从中央 repo 中 pull 出时 git-subtree 冲突

git - 将 git repo 中的所有文件替换为本地计算机上的文件

git - Git暂存文件存储在哪里?

go - 格式错误的模块路径...第一个路径元素中缺少点

tomcat - 绝对路径和相对路径

在 macOS 上使用 git-lfs pull 时出现 Gitkraken 错误

Git:必须分发但忽略/不重新上传的文件?

linux - merge 子目录到父目录