Skip to content
An interactive git tool that works with GitHub and Bitbucket Server.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
Makefile
README.md
args.go
bitbucket.go
command.go
config.go
demo.gif
demo2.gif
go.mod
go.sum
handler.go
main.go

README.md

gowl

An interactive git tool that works with GitHub and Bitbucket Server.

Support for both Windows and Linux.

DEMO

Install

$ go get -u github.com/tadashi-aikawa/gowl

or

Download a binary from release page.

Usage

$ gowl --help
Gowl.

Usage:
  gowl get [-s | --shallow] [-f | --force] [-B | --bitbucket-server]
  gowl edit [-e=<editor> | --editor=<editor>]
  gowl web
  gowl list
  gowl purge
  gowl -h | --help
  gowl --version

Options:
  -e --editor=<editor>        Use editor [default: default]
  -s --shallow                Use shallow clone
  -f --force                  Force remove and reclone if exists
  -B --bitbucket-server       Use Bitbucket Server
  -h --help                   Show this screen.
  --version                   Show version.

Quick start

Create ~/.gowlconfig

.gowlconfig is a TOML file.

root = "Root directory of repositories for gowl"
# ex. C:\\users\\tadashi-aikawa\\.gowl

browser = "Your browser"
# ex. C:\\Program Files (x86)\\Google\\Chrome\\Application\\Chrome.exe

subSpaces = [
  "Subspaces that can be used for purposes other than Get 1",
  "Subspaces that can be used for purposes other than Get 2",
]
# ex. [
#   "C:\\Users\\tadashi-aikawa\\tmp",
#   "C:\\Users\\tadashi-aikawa\\works",
# ]


[editors]
default = "code"
vim = "vim"

[github]
token = "your github token"
# If `overrideUser = true`, Add userName and mailAddress to `.git/config` (`user.name` and `user.email`)
overrideUser = true
userName = "your github account name"
mailAddress = "your github email address"

[bitbucketserver]
baseurl = "http://your.bitbucket.server.url"
username = "yourname"
password = "yourpassword"
prefix = "your prefix in gopath (ex: mamansoft/bitbucket)"
useSSH = true

A minimum example

browser = "chrome"

[editors]
default = "code"

[github]
token = "your github token"

This file means...

  • Use Google Chrome as browser
  • Use VSCode as editor
  • Use GitHub only

Run

For example..

  1. gowl get
  2. gowl edit

Configuration

Gowl uses toml format as a configuration file.
Please check config.go.

TODO: Definition table

Root directory

The root directory is determined by the following priority.

  1. root in .gowlconfig
  2. <GOPATH>/src
  3. <HOME>/.gowlroot

Other

If you use fzf(or peco), the following setting may make you happy!

bash

alias cdg="cd $(gowl list | fzf)"

fish

alias cdg "cd (gowl list | fzf)"

DEMO2

For developer

Prerequirements

  • go >= 1.11 and use go module

Release

Requirements

  • make
  • bash
  • ghr

Packaging

Confirm that your branch name equals release version, then...

$ make release

You have to create PR and merge.

deploy

After you merged PR, then

$ make deploy version=x.y.z
You can’t perform that action at this time.