分支、合并、变基
- ⌘B 或工具栏的分支按钮在选中的提交上创建分支。
- 双击左侧面板里的分支,或提交图里的分支标签,即可检出。
- 右键点按分支可以重命名、删除、隐藏或单独显示。
如果你的改动妨碍检出,MyTwig 会问你是储藏后带过去,还是丢弃。设置 → Git → 妨碍检出的更改可以让它直接按你的选择处理。
双击远程分支会检出一个跟踪它的本地分支。如果已有的本地分支只是落后,会直接快进。如果本地分支有自己的提交,MyTwig 会让你选择变基这些提交、重置到远程,或者原样检出,绝不会不问就丢掉你的提交。
分支按名称里的斜杠分进文件夹(feature/login)。点本地和远程标题上的按钮可以按名称、最近提交或创建时间排序。设置 → 提交图 → 分支可以改成平铺显示。
拖放合并或变基
Section titled “拖放合并或变基”从左侧面板或提交图里拖动一个分支,放到:
- 另一个分支上:菜单里选合并或变基;
- 一个提交上:变基到那里;
- 一个远程分支上:推送你的分支,并以该远程分支为目标打开新建拉取请求的对话框。拖动的是远程分支时,直接用它创建拉取请求。
选择之前,菜单会告诉你结果:“没有冲突”“2 个文件有冲突”,或者变基“可能在哪里冲突”。这是用 git merge-tree 算出来的,不会动你的工作区。
分支的右键菜单里也有同样的操作。
分支的合并选项提供:
- 能快进就快进,否则按你的
merge.ff设置创建合并提交; - 总是创建合并提交;
- 压缩为已暂存的改动,用一条说明提交;
- 在合并提交前停下,先看一看。
对一个上面堆着其他分支的分支变基时,可以把它们一起带上(--update-refs,需要 Git 2.38+)。
提前发现冲突
Section titled “提前发现冲突”MyTwig 会在后台检查你的分支与其上游以及远程默认分支是否会冲突。会冲突时,工作区面板顶部会显示“与 origin/main 在 3 个文件中冲突”,分支旁也会有警告。点按可以看到是哪些文件。见解决冲突。
- 交互式变基:从提交菜单或命令面板打开。对每个提交选择保留、改写说明、压缩、修正或丢弃,拖动可以调整顺序。
- 压缩或移动提交:多选几个提交(⌘ 点按、⇧ 点按),拖到当前分支的另一个提交上,选择压缩进去或移到它上面。
- 提交菜单:拣选、还原、把分支重置到它(soft、mixed 或 hard)、创建标签、拷贝 SHA 或说明。
这些操作都可以撤销。见撤销一切。
工作树是同一个仓库的另一个检出,可以同时在两个分支上工作。工具栏的工作树按钮可以打开已有的工作树,或为某个分支新建一个。
打开两个或以上时,标题栏下方会出现一排标签。点按即可在仓库标签页里切换到它。右键点按可以移除,或在编辑器、终端、文件管理器里打开。左侧面板的工作树部分会列出全部。
Git Flow
Section titled “Git Flow”如果你在用 git-flow,MyTwig 会读取它的配置。可以在左侧面板或命令面板里初始化,并开始、完成功能、发布和热修复分支。
在提交菜单里创建标签。左侧面板里可以推送标签,或在本地、远程删除标签。