git-panel
A Git integration panel
asiloisad 8 0 1.6.1 MIT GitHub
  • Made for Pulsar!

    This package was written specifically for Pulsar and did not exist in the Atom package repository.

git-panel

A Git integration panel.

Fork of github, but forge-agnostic Git operations only.

Features

  • Staging area: Stage, unstage, and discard changes per-file or per-hunk.
  • Commit: Compose commit messages with co-author support and automatic message wrapping.
  • Branching: Create, switch, and manage branches from the status bar.
  • Push / Pull / Fetch: Sync with remotes directly from the status bar.
  • Diff viewer: Inline diff view with hunk and line-level selection, including word-level highlights within changed lines.
  • Merge conflict resolution: Graphical in-editor conflict resolution controls.
  • Clone / Init: Initialize new repositories or clone from a URL.
  • Multi-repo support: Scan project subdirectories for nested git repositories.

Installation

To install, search for git-panel in the Install pane of the Pulsar settings or run ppm install git-panel. Alternatively, run ppm install asiloisad/pulsar-git-panel to install directly from the GitHub repository.

Note: This package automatically disables the built-in github package to avoid conflicts.

Commands

Commands available in .workspace:

  • git-panel:toggle-focus: open and focus the Git tab, or return focus to editor if already focused,
  • git-panel:toggle-git-tab: toggle Git tab visibility,
  • git-panel:commit: commit staged changes,
  • git-panel:fetch: fetch from remote,
  • git-panel:pull: pull from remote,
  • git-panel:push: push to remote,
  • git-panel:force-push: force push to remote,
  • git-panel:clone: open clone dialog,
  • git-panel:initialize: initialize a new git repository,
  • git-panel:update-repositories: rescan all project paths, refresh existing repositories, add newly found ones, and remove stale ones,
  • git-panel:open-commit: open commit by SHA dialog,
  • git-panel:toggle-commit-preview: toggle commit preview pane,
  • git-panel:view-unstaged-changes-for-current-file: show unstaged diff for current file,
  • git-panel:view-staged-changes-for-current-file: show staged diff for current file,
  • git-panel:close-all-diff-views: close all open diff views,
  • git-panel:close-empty-diff-views: close empty diff views.

Commands available in atom-text-editor (conflict resolution):

  • git-panel:resolve-as-ours: resolve conflict as ours,
  • git-panel:resolve-as-theirs: resolve conflict as theirs,
  • git-panel:resolve-as-base: resolve conflict as base,
  • git-panel:resolve-as-current: resolve as current side,
  • git-panel:revert-current: revert conflict marker,
  • git-panel:resolve-as-ours-then-theirs: resolve as ours then theirs,
  • git-panel:resolve-as-theirs-then-ours: resolve as theirs then ours,
  • git-panel:revert-conflict-modifications: revert all conflict modifications,
  • git-panel:dismiss-conflict: dismiss current conflict.

Commands available in .git-panel-Git:

  • git-panel:focus-project: focus project selector,
  • git-panel:focus-unstaged: focus unstaged changes,
  • git-panel:focus-staged: focus staged changes,
  • git-panel:focus-commit: focus commit message,
  • git-panel:focus-recent-commits: focus recent commits.

Commands available in .git-panel-StagingView:

  • git-panel:jump-to-file: open file in editor,
  • git-panel:discard-changes-in-selected-files: discard changes in selected files,
  • git-panel:show-diff-view: show diff for selected file,
  • git-panel:focus-diff-view: show and focus diff for selected file,
  • git-panel:activate-next-list: move focus to next file list,
  • git-panel:activate-previous-list: move focus to previous file list,
  • git-panel:resolve-file-as-ours: resolve selected file as ours,
  • git-panel:resolve-file-as-theirs: resolve selected file as theirs,
  • git-panel:stage-all-changes: stage all unstaged changes,
  • git-panel:unstage-all-changes: unstage all staged changes,
  • git-panel:discard-all-changes: discard all unstaged changes,
  • git-panel:undo-last-discard-in-git-tab: undo last discard.

Commands available in .git-panel-CommitView:

  • git-panel:commit: commit staged changes,
  • git-panel:amend-last-commit: amend the last commit,
  • git-panel:toggle-co-authors: toggle the co-authors editor,
  • git-panel:toggle-expanded-commit-message-editor: toggle expanded editor,
  • git-panel:dive: open commit preview,
  • git-panel:co-author-exclude: exclude co-author from list.

Commands available in .git-panel-CoAuthorForm:

  • core:cancel: close the new co-author form,
  • core:focus-next: switch between name and e-mail,
  • core:focus-previous: switch between name and e-mail,
  • core:confirm: add the co-author.

Commands available in .git-panel-RecentCommits:

  • git-panel:dive: open commit detail view,
  • git-panel:undo-last-commit: undo the last commit,
  • git-panel:copy-commit-sha: copy commit SHA to clipboard,
  • git-panel:copy-commit-subject: copy commit subject to clipboard.

Commands available in .git-panel-FilePatchView (diff view):

  • git-panel:toggle-patch-selection-mode: toggle hunk/line selection mode,
  • git-panel:discard-selected-lines: discard selected lines,
  • git-panel:jump-to-file: jump to file at selected line,
  • git-panel:surface: navigate back to parent view,
  • git-panel:select-next-hunk: select next hunk (in hunk mode),
  • git-panel:select-previous-hunk: select previous hunk (in hunk mode).

Contributing

Got ideas to make this package better, found a bug, or want to help add new features? Just drop your thoughts on GitHub. Any feedback is welcome!