FarNet.GitKit
0.2.0
Prefix Reserved
See the version list below for details.
dotnet add package FarNet.GitKit --version 0.2.0
NuGet\Install-Package FarNet.GitKit -Version 0.2.0
<PackageReference Include="FarNet.GitKit" Version="0.2.0" />
paket add FarNet.GitKit --version 0.2.0
#r "nuget: FarNet.GitKit, 0.2.0"
// Install FarNet.GitKit as a Cake Addin #addin nuget:?package=FarNet.GitKit&version=0.2.0 // Install FarNet.GitKit as a Cake Tool #tool nuget:?package=FarNet.GitKit&version=0.2.0
FarNet.GitKit
Far Manager git helpers based on LibGit2Sharp
About
GitKit is the FarNet module for git operations in Far Manager. GitKit uses LibGit2Sharp and does not require installed git.
Project FarNet
- Wiki: https://github.com/nightroman/FarNet/wiki
- Site: https://github.com/nightroman/FarNet
- Author: Roman Kuzmin
Install
- Far Manager
- Package FarNet
- Package FarNet.GitKit
- Optional package FarNet.PowerShellFar
How to install and update FarNet and modules
https://github.com/nightroman/FarNet#readme
Commands
GitKit commands use the prefix gk
. Commands may be typed and invoked in the
Far Manager command line or using F11 / FarNet / Invoke. Commands may be also
defined in the Far Manager user menu and file associations.
The command gk:
without parameters prints the repository status. Other
commands require parameters, one or more key=value pairs separated by
semicolons, using the connection string format.
gk: [key=value] [; key=value] ...
Common parameters
Repo=<path>
Specifies the existing repository path. Default: the current panel directory.
Panel commands
gk: panel=branches
Opens the Branches panel.
gk: panel=commits
Opens the Commits panel.
gk: panel=changes
Opens the Changes panel.
Operation commands
gk: init=<path>
Creates repository, see Init command.
gk: clone=<url>
Clones repository, see Clone command.
gk: commit=<message>
Commits changes, see Commit command.
gk:
Prints the repository status: summary of changes if any, the commit hash, local and remote branches with the same tip commit, the commit message.
Init command
Use this command in order to create a repository
gk: init=<path>
Parameters
IsBare={true|false}
Tells to create a bare repository.
Clone command
Use this command in order to clone a repository
gk: clone=<url>
Parameters
Path=<path>
Specifies the local path to clone into. Default: the current panel directory.
IsBare={true|false}
Tells to clone a bare repository.
NoCheckout={true|false}
Tells not to checkout after cloning.
RecurseSubmodules={true|false}
Tells to recursively clone submodules.
Commit command
Use this command in order to commit changes
gk: commit=<message>
Set the message to "#" in order to compose it in the editor. If you also set
CommentaryChar
then the message will contain the commented out info about
changes to be committed.
Parameters
All={true|false}
Tells to stage all changes before committing.
AllowEmptyCommit={true|false}
Tells to allow creation of an empty commit.
AmendPreviousCommit={true|false}
Tells to amend the previous commit.
PrettifyMessage={true|false}
Tells to prettify the message by stripping leading and trailing empty lines, trailing spaces, and collapsing consecutive empty lines.
PrettifyMessage
is ignored ifCommentaryChar
is set.CommentaryChar=<char>
The starting line char used to identify commentaries in the commit message. If set (usually to "#"), all lines starting with this char will be removed.
CommentaryChar
impliesPrettifyMessage=true
.
Examples
# commit all changes, compose a new message in the editor
gk: commit=#; All=true; CommentaryChar=#
# amend with all changes, modify the old message in the editor
gk: commit=#; All=true; CommentaryChar=#; AmendPreviousCommit=true
Panels
GitKit provides several panels for browsing and operating
Common panel keys and actions
CtrlA
Opens the current item property panel. This operation requires
FarNet.PowerShellFar
.
Branches panel
This panel shows the repository branches, local and remote. The current branch
is marked by *
. If there is no current branch then origin/HEAD
is shown.
The panel is opened by
gk: panel=branches
Keys and actions
Enter
Opens the selected branch Commits panel.
ShiftEnter
For the local branch, makes it current. For the remote branch, checkouts and makes it current.
ShiftF5
Creates a new branch from the selected branch.
ShiftF6
Renames the selected branch.
F7
Creates and checkouts a new branch from the current branch. Note that the current branch is with
*
, not the selected. To copy the selected branch, useShiftF5
.F8
,Del
Safely deletes the selected local branches.
Remote branches and local branches with unique local commits are not deleted this way. Use
ShiftF8
,ShiftDel
in order to force delete.ShiftF8
,ShiftDel
Forcedly deletes the selected remote and local branches.
Other keys
See Panels for common keys and actions.
Other actions
See Menu.
Commits panel
This panel shows the branch commits. Commits are shown by pages of 100.
The panel is opened from the branches panel or for the current branch by
gk: panel=commits
Keys and actions
Enter
Opens the selected commit Changes panel.
PgDn
At the last shown commit, loads the next page commits.
PgUp
At the first shown commit, loads the previous page commits.
Other keys
See Panels for common keys and actions.
Other actions
See Menu.
Changes panel
This panel shows the changed files.
The panel is opened from the commits panel or for the current changes by
gk: panel=changes
Keys and actions
Enter
Opens the diff tool specified by the environment variable
MERGE
.F3
,F4
Opens the diff patch in the viewer or editor.
Other keys
See Panels for common keys and actions.
Menu
Compare branches
Compares the cursor branch with the selected branch and opens the changes panel. If nothing is selected then the repository head is used.
Compare commits
Compares the cursor commit with the selected commit and opens the changes panel. If nothing is selected then the branch tip is used.
Create branch
Creates a new branch from the cursor commit.
Help
Shows GitKit help.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.3 | 83 | 10/26/2024 |
1.0.2 | 215 | 4/20/2024 |
1.0.1 | 242 | 1/13/2024 |
1.0.0 | 242 | 11/19/2023 |
0.9.7 | 294 | 11/1/2023 |
0.9.6 | 216 | 10/27/2023 |
0.9.5 | 229 | 10/26/2023 |
0.9.4 | 234 | 10/25/2023 |
0.9.3 | 256 | 5/16/2023 |
0.9.2 | 159 | 5/3/2023 |
0.9.1 | 148 | 5/2/2023 |
0.9.0 | 167 | 5/1/2023 |
0.8.6 | 161 | 4/30/2023 |
0.8.5 | 161 | 4/29/2023 |
0.8.4 | 163 | 4/28/2023 |
0.8.3 | 170 | 4/27/2023 |
0.8.2 | 159 | 4/27/2023 |
0.8.1 | 162 | 4/26/2023 |
0.8.0 | 155 | 4/26/2023 |
0.7.8 | 174 | 4/24/2023 |
0.7.7 | 170 | 4/23/2023 |
0.7.6 | 181 | 4/23/2023 |
0.7.5 | 178 | 4/23/2023 |
0.7.4 | 162 | 4/21/2023 |
0.7.3 | 175 | 4/21/2023 |
0.7.2 | 180 | 4/21/2023 |
0.7.1 | 186 | 4/19/2023 |
0.7.0 | 182 | 4/19/2023 |
0.6.5 | 210 | 4/18/2023 |
0.6.4 | 165 | 4/18/2023 |
0.6.3 | 174 | 4/18/2023 |
0.6.2 | 184 | 4/17/2023 |
0.6.1 | 183 | 4/16/2023 |
0.6.0 | 186 | 4/16/2023 |
0.5.3 | 191 | 4/15/2023 |
0.5.2 | 190 | 4/15/2023 |
0.5.1 | 179 | 4/15/2023 |
0.5.0 | 193 | 4/14/2023 |
0.4.0 | 194 | 4/13/2023 |
0.3.2 | 189 | 4/12/2023 |
0.3.1 | 193 | 4/12/2023 |
0.3.0 | 188 | 4/12/2023 |
0.2.4 | 178 | 4/11/2023 |
0.2.3 | 197 | 4/11/2023 |
0.2.2 | 190 | 4/11/2023 |
0.2.1 | 185 | 4/11/2023 |
0.2.0 | 186 | 4/11/2023 |
0.1.0 | 195 | 4/10/2023 |
0.0.3 | 191 | 4/9/2023 |
0.0.2 | 191 | 4/9/2023 |
0.0.1 | 182 | 4/8/2023 |