Expand Git History actions and branch management

- Add SmartGit-inspired context actions to Git History commits, including checkout, merge, fast-forward merge, cherry-pick, revert, branch creation, tag creation, and copying commit IDs or complete messages.
  - Order commit actions into consistent operation, ref-creation, and clipboard groups. Hide the redundant Show in Git History action inside detached history tabs while retaining it in the source-control sidebar.
  - Add a Working Tree / Index context menu with status-aware Commit and Stage actions. Track staged and unstaged availability in the history model and keep it synchronized as repository status changes.
  - Extend the Git command wrapper with operations for creating branches at commits, creating and deleting tags, deleting remote branches, cherry-picking commits, and reverting commits.
  - Support deleting tags and remote branches from the Branches view. When deleting a local branch with an upstream, optionally delete its tracked remote branch as part of the operation.
  - Add confirmation and input dialogs for branch, tag, remote-deletion, and revert workflows. Disable history-changing commit actions while another Git operation is active.
This commit is contained in:
Martín Lucas Golini
2026-08-29 15:11:08 -03:00
parent b3d72b5acf
commit 0fa99ab9d2
11 changed files with 395 additions and 14 deletions
+18
View File
@@ -263,6 +263,7 @@
<string name="git_checkout">检查</string>
<string name="git_checkout_ellipsis">检查...</string>
<string name="git_commit">提交Git</string>
<string name="git_commit_ellipsis">提交...</string>
<string name="git_commit_message">提交信息:</string>
<string name="git_confirm">确认</string>
<string name="git_confirm_apply_stash">Apply a previously saved stash?</string>
@@ -1055,6 +1056,23 @@ file in the directory tree.</string>
<string name="git_working_tree_index">工作树 / 索引</string>
<string name="git_working_tree_summary">%zu 个更改,%zu 个已暂存</string>
<string name="git_uncommitted_changes">未提交的更改</string>
<string name="git_copy_id">复制 ID</string>
<string name="git_copy_message">复制提交消息</string>
<string name="git_create_branch_ellipsis">添加分支...</string>
<string name="git_add_tag">添加标签</string>
<string name="git_add_tag_ellipsis">添加标签...</string>
<string name="git_add_tag_to_commit">为提交 %s 添加标签</string>
<string name="git_create_branch_at_commit">在提交 %s 创建分支。</string>
<string name="git_merge_ellipsis">合并...</string>
<string name="git_cherry_pick_ellipsis">拣选提交...</string>
<string name="git_revert_ellipsis">还原...</string>
<string name="git_confirm_revert_commit">要还原所选提交吗?&#10;这将创建一个撤销其更改的提交。</string>
<string name="git_revert_and_commit">还原并提交</string>
<string name="git_revert">还原</string>
<string name="git_confirm_tag_delete">删除标签“%s”吗?</string>
<string name="git_confirm_remote_branch_delete">删除远程分支“%s”(远程仓库“%s”)吗?</string>
<string name="git_delete_tracking_remote">同时删除跟踪的远程分支</string>
<string name="git_delete_tag">删除标签</string>
<string name="git_history_no_additional_commits">没有其他提交</string>
<string name="git_show_in_history">在 Git 历史记录中显示</string>
<string name="git_commit_history_title">Git 提交历史记录 - %s</string>