Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tadashi-aikawa/gowl
An interactive git tool that works with GitHub and Bitbucket Server.
https://github.com/tadashi-aikawa/gowl
bitbucket-server git github
Last synced: 25 days ago
JSON representation
An interactive git tool that works with GitHub and Bitbucket Server.
- Host: GitHub
- URL: https://github.com/tadashi-aikawa/gowl
- Owner: tadashi-aikawa
- License: mit
- Created: 2018-09-15T12:04:20.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-02-25T13:14:11.000Z (over 1 year ago)
- Last Synced: 2024-06-20T17:45:14.645Z (5 months ago)
- Topics: bitbucket-server, git, github
- Language: Go
- Homepage:
- Size: 814 KB
- Stars: 4
- Watchers: 6
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gowl
![](https://img.shields.io/github/release/tadashi-aikawa/gowl.svg)
An interactive git tool that works with GitHub and Bitbucket Server.
Support for
* Windows
* Linux
* Mac![DEMO](https://raw.githubusercontent.com/tadashi-aikawa/gowl/master/demo.gif)
## Install
```
$ go get -u github.com/tadashi-aikawa/gowl
```or
Download a binary from [release page](https://github.com/tadashi-aikawa/gowl/releases).
## Usage
```
$ gowl --help
Gowl.Usage:
gowl get [-s | --shallow] [-f | --force] [-B | --bitbucket-server]
gowl edit [-e= | --editor=]
gowl web
gowl list
gowl purge
gowl -h | --help
gowl --versionOptions:
-e --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.
```toml
root = "Root directory of repositories for gowl"
# ex. C:\\users\\tadashi-aikawa\\.gowlbrowser = "Your browser"
# ex. C:\\Program Files (x86)\\Google\\Chrome\\Application\\Chrome.exesubSpaces = [
"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
```toml
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. `/src`
3. `/.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](https://raw.githubusercontent.com/tadashi-aikawa/gowl/master/demo2.gif)
## For developer
### Requirements
* go >= 1.20
### Release
> Requirements: [Task]
[Task]: https://github.com/go-task/task
Confirm that your branch name is mater. then...
```
$ task release VERSION=x.y.z
```