Skip to content

aganzha/stage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stage logo Stage - Git GUI client for linux desktops inspired by Magit

CI Build/Tests License: GPL v3 Docs

Installing

Add Flathub to your remotes

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Install app

flatpak install flathub io.github.aganzha.Stage

To update app to latest version run

flatpak update io.github.aganzha.Stage

Run app

flatpak run io.github.aganzha.Stage

Using

Open repository either by clicking placeholder button, or repository list button in the header bar. Stage, then, will live track all changes you do on files inside repository and display in Status window in form of text diff.

Note

Highlighted line in Status window behave like a cursor in TUI apps.

Move cursor around with arrows or by mouse clicking in any area. Commands your issued for Stage are applied to "thing" under cursor. E.g. to stage (git add) file put cursor on file name and press s, or click in header bar. Whole file will be added to staging area for further commit.

  • Use Ctrl + / Ctrl - to change font size.
  • dark / light theme switcher is in the burger

Stage screenshot

Main commands

  • s - Stage selected files or hunks or all changes by pressing enter.
  • u - Unstage. Button -
  • k - Kill
  • Tab/Space - Expand/collapse underlying files and hunks.

Note

Stage operates on files and hunks as native git. You can expand/collapse files and hunks to view changes and choose hunks for commit.

  • When cursor is on file name, whole file is a subject to issued command.
  • When cursor is on hunk header or any line inside hunk, then current hunk is subject to command

Note

Current hunk under cursor is slightly highlighted.

Commit/Push/Pull

  • c - Commit. Button in headerbar - Commit button
  • f - Pull (as in Fetch). Button - Pull button
  • p - Push. Button - Push button

Command showing other windows

  • b - Branches window Branches button
  • l - opens log window Push button
  • z - opens stashes panel Push button
  • t - opens tags window

Note

Any window above Status window could be closed with Esc or Ctrl-w

Branches window

Branches view Current branch is marked with icon

Switching, creating and deleting branches

This window allows quickly switch between branches: just move cursor with arrows and hit enter, or double click.

To create new branch hit c or button.

Tip

The branch you are creating will be based on the branch on which the cursor currently is. This means you can create new branch from branch feature even though the current branch is master, and quickly switch to it.

To delete branch hit k or button

Warning

There are no any confirmation for branch deleting

Merge and rebase

Put cursor on branch you want to merge in current () branch and hit m (). Use r () for rebase.

Note

Sooner or later you will have conflicts during merge/rebase. When Stage displays conflicts it behaves a bit differently: when cursor is on ours or theirs side of conflict, whole side is highlighted and hitting stage will resolve this conflict. Conflict will disapear from Conflicts section. Sometimes you will see final result in Staged section, but it could not be the case if after resolving there are no changes in source code (e.g. you choose ours side and source code remains the same).

View branch commits

Hit l (as in Log) to view commits in branch under cursor in Log window.

Remotes

Remote branches are just separate section in branches list and their behaviour and commands are just the same as local branches. E.g. just hit enter or double click on remote branch and Stage will fetch it and switch to it.

To update remote branches hit u or press button in headerbar.

Tip

You can manage remotes in Status window by pressing button.

Log window

When in main Status window or in Branches window hitting l () will bring up Log window.

Note

Stage does not display merge commits

Log window is just a list of commits. You can search among them via panel in headerbar. Commits which come from other branches displaying arrows in separate column for convinience

Commits window

Hitting enter or single click on commit sha in Log window brings up the commit content window. Individual Commit window behaves same way as Status window, except its readonly.

  • Hit a (as in Apply) to Cherry-pick commit onto current branch
  • Hit r (as in Revert) to Revert commit onto current branch

Stashes panel

Hitting z or icon will open stashes panel. Hitting z one more time will stash all changes.

Tags window

Hitting t in Status window brings up Tags window. That window behave as a simple list where you can c - create, k - delete (as in Kill) and p - to push tags to remote.

About

Stage - Git GUI client for linux desktops inspired by Magit

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •