Homepage: https://elpa.gnu.org/packages/gited.html
Author: Tino Calancha
Updated:
Operate on Git branches like dired
This library lists the branches in a Git repository. Then you can
operate on them with a dired-like interface.
The command `gited-list-branches' prompts for the kind of branch
(local branches, remote branches or tags) and lists them.
This command is used quite often, thus it might be convenient
to give it a key binding. For instance, if `gited.el' is in
your `load-path', then you can bind it to `C-x C-g' in Dired buffers
by adding the following lines into your .emacs file:
(require 'gited)
(define-key dired-mode-map "\C-x\C-g" 'gited-list-branches)
If you are familiar with Dired, then you already know how to use
Gited; that's because most of the Gited commands with a Dired equivalent
share same keybindings.
For instance `gited-rename-branch' is bound to `R' as `dired-do-rename'.
Similarly, `gited-mark' is bound to `m' as `dired-mark'.
=== How to push to the remote repo. your local changes ===
Suppose you want to update a file 'foo' (*).
From the Gited buffer:
0) c master RET ; Checkout master branch (**).
*< ; Synchronize with remote repository.
<<< Update 'foo' with your changes and save it. >>>
From the Gited buffer:
1) A ; Stage your changes.
2) C-c c "Updated foo" RET ; Commit them.
3) *> ; Public your changes into the remote repository.
---
(*) We have restricted to 1 file for simplicity. The recipe works
for N>=1 files.
(**) For changes that require several commits you might prefer to
work in a separated branch 'feature'. In that case you'd
merge the master branch with 'feature' before 3).
Bugs/TODO
=========
* Currently, 'origin' is assumed as the remote repository:
Remove some hardcode 'origin' around, and extend it
to handle multiple remotes.
* Pull requests are not implemented.
Internal variables defined here:
`gited--hide-details-set', `gited--last-remote-prune',
`gited--op', `gited--revert-commit',
`gited--running-async-op', `gited-actual-switches',
`gited-after-change-hook', `gited-async-operation-callback',
`gited-author-face', `gited-author-idx',
`gited-bisect-buf-name', `gited-bisect-buffer',
`gited-bisect-buffer', `gited-bisect-output-name',
`gited-branch-after-op', `gited-branch-alist',
`gited-branch-idx', `gited-branch-name-face',
`gited-buffer', `gited-buffer-name',
`gited-commit-idx', `gited-commit-msg-face',
`gited-current-branch', `gited-current-remote-rep',
`gited-date-idx', `gited-date-regexp',
`gited-date-time-face', `gited-del-char',
`gited-deletion-branch-face', `gited-deletion-face',
`gited-edit-commit-mode-map', `gited-flag-mark-face',
`gited-flag-mark-line-face', `gited-header',
`gited-list-format', `gited-list-refs-format-command',
`gited-log-buffer', `gited-mark-col-size',
`gited-mark-face', `gited-mark-idx',
`gited-marker-char', `gited-mode',
`gited-mode-map', `gited-modified-branch',
`gited-new-or-deleted-files-re', `gited-op-string',
`gited-original-buffer', `gited-output-buffer',
`gited-output-buffer-name', `gited-re-mark',
`gited-ref-kind', `gited-section-highlight-face',
`gited-toplevel-dir', `gited-trunk-branch'.
Coustom variables defined here:
`gited-add-untracked-files', `gited-author-col-size',
`gited-branch-col-size', `gited-commit-col-size',
`gited-current-branch-face', `gited-date-col-size',
`gited-date-format', `gited-delete-unmerged-branches',
`gited-expert', `gited-one-trunk-repository',
`gited-patch-options', `gited-patch-program',
`gited-protected-branches', `gited-prune-remotes',
`gited-reset-mode', `gited-short-log-cmd',
`gited-show-commit-hash', `gited-switches',
`gited-use-header-line', `gited-verbose'.
Macros defined here:
`gited-map-over-marks', `gited-mark-if',
`gited-with-current-branch'.
Commands defined here:
`gited--mark-merged-branches-spec', `gited--mark-unmerged-branches-spec',
`gited-add-patched-files', `gited-amend-commit',
`gited-apply-add-and-commit-patch', `gited-apply-patch',
`gited-async-operation', `gited-bisect',
`gited-branch-clear', `gited-change-current-remote-rep',
`gited-checkout-branch', `gited-commit',
`gited-copy-branch', `gited-copy-branchname-as-kill',
`gited-delete-all-stashes', `gited-delete-branch',
`gited-diff', `gited-do-delete',
`gited-do-flagged-delete', `gited-do-kill-lines',
`gited-do-sync-with-trunk', `gited-edit-commit-mode',
`gited-extract-patches', `gited-fetch-remote-tags',
`gited-finish-commit-edit', `gited-flag-branch-deletion',
`gited-goto-branch', `gited-goto-first-branch',
`gited-goto-last-branch', `gited-kill-line',
`gited-list', `gited-list-branches',
`gited-log', `gited-log-last-n-commits',
`gited-mark', `gited-mark-branches-by-date',
`gited-mark-branches-containing-commit',
`gited-mark-branches-containing-regexp', `gited-mark-branches-regexp',
`gited-mark-local-tags', `gited-mark-merged-branches',
`gited-mark-unmerged-branches', `gited-merge-branch',
`gited-move-to-author', `gited-move-to-branchname',
`gited-move-to-date', `gited-move-to-end-of-author',
`gited-move-to-end-of-branchname', `gited-move-to-end-of-date',
`gited-next-line', `gited-next-marked-branch',
`gited-number-marked', `gited-origin',
`gited-prev-line', `gited-prev-marked-branch',
`gited-pull', `gited-push',
`gited-remote-tag-delete', `gited-rename-branch',
`gited-reset-branch', `gited-revert-commit',
`gited-set-object-upstream', `gited-show-commit',
`gited-stash', `gited-stash-apply',
`gited-stash-branch', `gited-stash-drop',
`gited-stash-pop', `gited-status',
`gited-summary', `gited-sync-with-trunk',
`gited-tag-add', `gited-tag-delete',
`gited-toggle-current-remote-rep', `gited-toggle-marks',
`gited-unmark', `gited-unmark-all-branches',
`gited-unmark-all-marks', `gited-unmark-backward',
`gited-update', `gited-visit-branch-sources',
`gited-why'.
Non-interactive functions defined here:
`gited--advice-sort-by-column', `gited--bisect-after-run',
`gited--bisect-executable-p', `gited--case-ref-kind',
`gited--check-unmerged-marked-branches', `gited--clean-previous-patches',
`gited--col-branch-name', `gited--extract-from-commit',
`gited--fill-branch-alist', `gited--fontify-current-row',
`gited--fontify-current-row-1', `gited--format-time',
`gited--get-branch-info', `gited--get-branches-from-command',
`gited--get-column', `gited--get-mark-for-entry',
`gited--get-merged-branches', `gited--get-patch-or-commit-buffers',
`gited--get-unmerged-branches', `gited--goto-column',
`gited--goto-first-branch', `gited--handle-new-or-delete-files',
`gited--last-commit-author', `gited--last-commit-date',
`gited--last-commit-hash', `gited--last-commit-msg',
`gited--last-commit-title', `gited--last-trunk-commit',
`gited--list-files', `gited--list-format-init',
`gited--list-refs-format', `gited--mark-branches-in-region',
`gited--mark-merged-or-unmerged-branches',
`gited--mark-merged-or-unmerged-branches-spec', `gited--merged-branch-p',
`gited--move-to-column', `gited--move-to-end-of-column',
`gited--output-buffer', `gited--patch-or-commit-buffer',
`gited--set-output-buffer-mode', `gited--stash-branch',
`gited--sync-with-trunk-target-name', `gited--update-header-line',
`gited--update-padding', `gited--valid-ref-p',
`gited-all-branches', `gited-async-operation-sentinel',
`gited-at-header-line-p', `gited-bisecting-p',
`gited-branch-exists-p', `gited-buffer-p',
`gited-current-branch', `gited-current-branches-with-marks',
`gited-current-state-list', `gited-dir-under-Git-control-p',
`gited-edit-commit', `gited-fontify-current-branch',
`gited-format-columns-of-files', `gited-get-branches',
`gited-get-branchname', `gited-get-commit',
`gited-get-date', `gited-get-element-in-row',
`gited-get-last-commit-time', `gited-get-mark',
`gited-get-marked-branches', `gited-git-checkout',
`gited-git-command', `gited-git-command-on-region',
`gited-hide-details-update-invisibility-spec',
`gited-insert-marker-char', `gited-internal-do-deletions',
`gited-listed-branches', `gited-log-msg',
`gited-log-summary', `gited-map-lines',
`gited-mark-pop-up', `gited-mark-remembered',
`gited-modified-files', `gited-modified-files-p',
`gited-next-branch', `gited-number-of-commits',
`gited-plural-s', `gited-prev-branch',
`gited-print-entry', `gited-remember-marks',
`gited-remote-prune', `gited-remote-repository-p',
`gited-remote-tags', `gited-repeat-over-lines',
`gited-stashes', `gited-tabulated-list-entries',
`gited-trunk-branch', `gited-trunk-branches',
`gited-untracked-files'.
Faces defined here:
`gited-author', `gited-branch-name',
`gited-commit-msg', `gited-date-time',
`gited-deletion', `gited-deletion-branch',
`gited-flag-mark', `gited-flag-mark-line',
`gited-header', `gited-mark',
`gited-modified-branch', `gited-section-highlight',
`gited-status-branch-local', `gited-status-tag'.