diff options
| author | Ibrahim Serdar Acikgoz <serdaracikgoz86@gmail.com> | 2018-12-03 23:48:39 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-03 23:48:39 +0300 |
| commit | f37956a676e02b9eafe33fd51d13039efaf412a0 (patch) | |
| tree | c320d84961ba3ec88af790401aed4da702f44104 /README.md | |
| parent | Develop (#18) (diff) | |
| download | gitbatch-f37956a676e02b9eafe33fd51d13039efaf412a0.tar.gz | |
update readme
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 44 |
1 files changed, 29 insertions, 15 deletions
@@ -1,28 +1,38 @@ [](https://travis-ci.com/isacikgoz/gitbatch) [](/LICENSE) [](https://goreportcard.com/report/github.com/isacikgoz/gitbatch) ## gitbatch -Aim of this tool to make your local repositories synchronized with remotes easily. Since my daily work is tied to many repositories I often end up walking on many directories and manually pulling updates etc. To make this routine more elegant, I made a decision to create a simple tool to handle this job in a seamless way. Actually I am not a golang developer but I thought it would be cool to create this tool with a new language for me. While developing this project, I am getting experience with golang. As a result, I really enjoy working on this project and I hope it will be a useful tool. I hope this tool can be useful for others too. +Aim of this tool to make your local repositories synchronized with remotes easily. Since my daily work is tied to many repositories I often end up walking on many directories and manually pulling updates etc. To make this routine more elegant, I created a simple tool to handle this job. I really enjoy working on this project and I hope it will be a useful tool. -**Disclamier** -- This is still a work in progress project. -- Authentication reuqired repostires are **NOT SUPPORTED** using ssh is recommended if you need to authenticate to fetch/pull +**Disclaimer** +- Authentication required repositories are **not supported** using ssh is recommended if you need to authenticate to fetch/pull - [Connecting to GitHub with SSH](https://help.github.com/articles/connecting-to-github-with-ssh/) - [GitLab and SSH keys](https://docs.gitlab.com/ee/ssh/) - [BitBucket Set up an SSH key](https://confluence.atlassian.com/bitbucket/set-up-ssh-for-git-728138079.html) -- This project is not widely tested in various environments. (macOS and Ubuntu is okay but didn't tried on Windows) +- Some strange behavior is expected and feedbacks are welcome. For now, known issues are: + - At very low probability app fails to load repositories, try again it will open next time (multithreading problem) + - Sometimes when you scroll too fast while pulling/fetching/merging, some multithreading problem occurs and app crashes (will fix soon) + - colors vary to your terminal theme colors, so if the contrast is not enough on some color decisions; discussions are welcome -Here is the initial look of the project: -[](https://asciinema.org/a/qmZDhmUjwWmZvdpZGYIRW56h7) +Here is the screencast of the app: +[](https://asciinema.org/a/B4heYReiNgqwUbWL2RYnTzt5H) ## installation -the project is at very early version but it can be tested; +for now, installation requires golang compiler and minimum golang 1.10 is recommended. +- if you don't have golang installed refer to [golang.org](https://golang.org/dl/) +- you should have $GOPATH env variable set and your $PATH includes $GOPATH/bin + +to install run the command; +```bash +go get -u github.com/isacikgoz/gitbatch +``` +I prefer using gopath like this in my zshrc or bashrc; ```bash -go get github.com/isacikgoz/gitbatch +export GOPATH=$HOME/go +export PATH=$PATH:$GOPATH/bin ``` ## Use -run the command the parent of your git repositories. For start-up options simply: -`gitbatch --help` +run the `gitbatch` command from the parent of your git repositories. For start-up options simply `gitbatch --help` ### Controls @@ -53,6 +63,11 @@ run the command the parent of your git repositories. For start-up options simply ↖ (pushables) ↘ (pullables) → (branch) (✗ if dirty) (repository folder name) (• if queued) - if pushables or pullables appear to be "**?**", that means no upstream configured for the active branch + - to resolve this issue; + 1. change directory the repository and checkout to the branch prints **?** on upstream + 2. make sure remote is set by running `git remote -v` + 3. run `git config --local --add branch.<your branch name>.remote=<your remote name>` + 4. run `git config --local --add branch.<your branch name>.merge=refs/heads/<your branch name>` - the queued indicator color represents the operation same as mode color #### Commit Screen @@ -60,20 +75,19 @@ run the command the parent of your git repositories. For start-up options simply - you can see the diff by simply pressing **d** on the selected commit ## Further goals -- add testing, currently this is the M.V.P. so that people can swiftly get hands on +- add testing - select all feature - arrange repositories to an order e.g. alphabetic, last modified, etc. - shift keys, i.e. **s** for iterate **shift + s** for reverse iteration -- binary distrubiton over [homebrew](https://github.com/Homebrew/brew) or similar - recursive repository search from the filesystem -- full src-d/go-git integration (*waiting for merge abilities*) +- full src-d/go-git integration (*having some performance issues*) - implement config file to pre-define repo locations or some settings - resolve authentication issues -- *maybe* handle conflicts with [fac](https://github.com/mkchoi212/fac) integration ## Credits - [go-git](https://github.com/src-d/go-git) for git interface - [gocui](https://github.com/jroimartin/gocui) for user interface +- [logrus](https://github.com/sirupsen/logrus) for logging - [lazygit](https://github.com/jesseduffield/lazygit) as app template - [color](https://github.com/fatih/color) for colored text - [kingpin](https://github.com/alecthomas/kingpin) for command-line flag&options |
