Interactive Git Log
Changes to files in your working copy appear automatically in IGL, just like if you had run When you're satisfied with your message, the Commit and Amend buttons at the bottom right will let you create or amend your commit using your message. 🌳 BranchesIGL displays a tree view of your commits and branches, starting from where they diverge from the primary remote branch (usually You can directly click on branch tags to go to them. You can also add, remove, and fetch branches directly from IGL. ✨ Uncommitted ChangesThe color and icon next to files shows you if a file was modified, added, or removed. The opacity of the filename indicates whether or not the file has been staged (via When you hover over files listed under uncommitted changes, IGL dynamically presents you with a set of actionable buttons. These buttons run Git commands, making it effortless to stage or unstage files for commit, revert modifications, or even remove newly added files from the file system without resorting to the command line. ⚔️ Rebasing & Conflict ResolutionYou can hover over a branch to reveal a rebase button. Pressing the button rebases your current branch onto the target branch. When merge conflicts are detected, IGL will add to the list of uncommitted changes a list of unresolved conflicts. After opening each file and resolving the conflict markers, you can click the plus icon next to each file in IGL to mark it as resolved. When all files have been resolved, you are free to continue the command that led to conflicts. It is possible to hit merge conflicts multiple times, for example, when rebasing an entire stack of commits, as each commit is checked for conflicts one-by-one. While a command is running, you will see progress information at the bottom of the screen. This is also where you can see error messages if something goes wrong when running a command. IGL shows the arguments used to run commands, so you could replicate the behavior on the CLI if you want to. 🔧 Reorder, Squash, and Drop CommitsAn Edit stack button will appear when you are on a branch with multiple commits. Upon clicking Edit stack, a dialog will open in which you can reorder, squash, and drop commits. Pressing Save changes triggers IGL runs a git interactive rebase to edit the stack. |