Engee 文档
Notebook

在Engee中使用Git

此示例显示了Git版本控制系统的基本命令,可以将其视为[在文件浏览器中]使用Git的替代方法(https://engee.com/helpcenter/stable/about/file-browser-article.html#working-with-git )和[命令行](https://engee.com/helpcenter/stable/getting-started-git/git-command-line.html )。

在开始工作之前,连接模块 engee_git.jl:

In [ ]:
include("$(@__DIR__)/engee_git.jl");

并在文件浏览器中导航到要执行版本控制的目录。

创建和删除Git存储库

*在当前目录中初始化本地存储库:

In [ ]:
engee_git.init();

*将远程存储库克隆到当前目录:

In [ ]:
engee_git.clone_url = "git@git.engee.com:namespace/repository.git";
In [ ]:
engee_git.clone(engee_git.clone_url);

*从当前目录中删除存储库:

In [ ]:
engee_git.term();

*将本地存储库链接到远程存储库:

In [ ]:
engee_git.remote_url = "git@git.engee.com:namespace/origin.git";
In [ ]:
engee_git.remote(engee_git.remote_url);

更改本地存储库

*显示当前存储库状态:

In [ ]:
engee_git.status();

索引更改

*索引对工作目录中所有文件的更改:

In [ ]:
engee_git.index_add();

*对指定文件的索引更改:

In [ ]:
engee_git.index_add_files = "file1.txt file2.txt";
In [ ]:
engee_git.index_add(engee_git.index_add_files);

*撤消对工作目录中所有文件的更改的索引,保留其当前状态:

In [ ]:
engee_git.index_reset();

*取消对指定文件的更改建立索引,保存其当前状态:

In [ ]:
engee_git.index_reset_files = "file1.txt file2.txt";
In [ ]:
engee_git.index_reset(engee_git.index_reset_files);

*停止跟踪对指定文件的更改:

In [ ]:
engee_git.index_remove_files = "file1.txt file2.txt";
In [ ]:
engee_git.index_remove(engee_git.index_remove_files);

修正更改

*提交更改:

In [ ]:
engee_git.commit_message = "Initial commit";
In [ ]:
engee_git.commit(engee_git.commit_message);

*更改上次提交而不更改注释:

In [ ]:
engee_git.commit_overwrite();

*通过复盖注释来更改最后一次提交:

In [ ]:
engee_git.commit_overwrite_message = "New commit";
In [ ]:
engee_git.commit_overwrite(engee_git.commit_overwrite_message);

返回到最后一个固定状态

*将存储库返回到上次提交状态:

In [ ]:
engee_git.reset();

*将指定的文件返回到最后一个固定状态:

In [ ]:
engee_git.reset_files = "file1.txt file2.txt";
In [ ]:
engee_git.reset(engee_git.reset_files);

诊断信息输出

*显示修复更改的历史记录:

In [ ]:
engee_git.log();

*显示索引更改与工作目录中文件的当前状态的比较:

In [ ]:
engee_git.diff();

*显示上次记录状态与索引更改的比较:

In [ ]:
engee_git.diff("index");

*显示上次提交状态与工作目录中文件当前状态的比较:

In [ ]:
engee_git.diff("directory");

*显示有关使用指定哈希修复更改的信息:

In [ ]:
engee_git.commit_show_hash = "engee123456789abcdefghijklmnopqrstuvwxyz";
In [ ]:
engee_git.commit_show(engee_git.commit_show_hash);

与远程存储库交互

*从远程存储库获取更改:

In [ ]:
engee_git.fetch();

*从远程存储库获取更改并与当前分支合并:

In [ ]:
engee_git.pull();

*将记录的更改发送到远程存储库:

In [ ]:
engee_git.push();

*强制将提交的更改发送到远程存储库:

In [ ]:
engee_git.push("force");

分支;分支

*显示存储库分支列表:

In [ ]:
engee_git.branch_show();

*切换到现有分支:

In [ ]:
engee_git.branch_switch_name = "master";
In [ ]:
engee_git.branch_switch(engee_git.branch_switch_name);

*创建一个新的本地分支:

In [ ]:
engee_git.branch_create_name = "dev";
In [ ]:
engee_git.branch_create(engee_git.branch_create_name);

*创建一个新的本地分支并切换到它:

In [ ]:
engee_git.branch_create_switch_name = "feature";
In [ ]:
engee_git.branch_create(engee_git.branch_create_switch_name, true);

*重命名当前分支:

In [ ]:
engee_git.branch_rename_name = "main";
In [ ]:
engee_git.branch_rename(engee_git.branch_rename_name);

*删除分支:

In [ ]:
engee_git.branch_remove_name = "feature";
In [ ]:
engee_git.branch_remove(engee_git.branch_remove_name);

结论

此示例演示了在Engee中使用Git版本控制系统的替代方法。

除了在文件浏览器中使用Git选项卡或直接在终端中输入命令外,您还可以在本地存储库中依次运行此脚本中的单元格。

如果有必要,您可以以相同的方式创建自己的脚本,旨在自动化与版本控制系统Git的工作。