在 Engee 中使用 Git¶
开始之前,请连接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版本控制系统。