Giter Site home page Giter Site logo

oldorangegitfish's Introduction

Deprecated in favor of this project: https://github.com/jlpatter/oxidized_git

OrangeGitFish

There's supposed to be an image here...

This is my electron Git GUI application, OrangeGitFish! I aim to provide the majority of features that git provides but within a GUI!

Features so far:

  • Initialize an empty repository
  • Open a repository
  • Clone a repository
  • Fetch
  • Pull
  • Push
  • Stage files (individual or all)
  • Unstage (i.e. reset) files
  • Commit changes
  • View the history in the graph
  • Checkout branches
  • Create new branches
  • And more!

Running on Linux

You will need to run the following commands in order to properly save credentials.

  • Debian/Ubuntu: sudo apt install libsecret-1-dev
  • Red Hat-based: sudo yum install libsecret-devel
  • Arch-based: sudo pacman -S libsecret

Development

Setup environment: run npm install, then run npm run install-app-deps (which takes a really long time as it's compiling nodegit). If those steps throw any errors, be sure to install the missing dependencies or log an issue. You may want to install nvm and run nvm use in the project directory in order to use the correct version of node.

Windows Development

Perform the following steps in order:

  • Install Python2 and Python3
  • Install the LTS version (<17) of Nodejs (DO NOT use nvm unless you know what you're doing)
  • When installing Nodejs, be sure to select the option to install additional compilation tools and such (if the install fails/hangs halfway through, this is normal).
  • Make sure that Chocolatey is installed
  • (Potentially optional) install visual studio community 2017
  • Run the following: choco install visualstudio2017buildtools (yes, even if visual studio community 2017 is installed. Also, 2017 specifically is required as it is hardcoded in nodegit)
  • Run the following: choco install openssl (yes, even though it gets built during npm install)
  • Run the following: choco install nasm and add the directory containing the NASM executable to your PATH variable (yes, even though it's bundled with nodejs)
  • Install Strawberry Perl
  • Clone OrangeGitFish somewhere
  • In the OrangeGitFish directory, Run npm install
  • Run npm run install-app-deps
  • Run npm run start

oldorangegitfish's People

Contributors

jlpatter avatar

Stargazers

 avatar

Watchers

 avatar

oldorangegitfish's Issues

Add JSHint

Add JSHint to lint all the JavaScript.

Add commit signature setup

Set it up so the user enters their name and email somewhere so they can be used for committing stuff.

Add GitHub REST API support

Add functionality so that branches can be tied to GitHub PRs. Also add functionality to tie commits (and branches?) to GitHub issues.

Fix cloning folder selection

When selecting a folder, the clone operation wants an empty folder to perform the clone in for some reason. Figure out why that is and if there's a way around it.

Add option for date sort in an options menu

Right now it sorts first by date then topologically. It may be possible to sort topologically first then by date if either the branch order is dependent on the branches passed in to the revwalk or if we can build the tree one branch at a time and add them to a mainline.

Make branches double-clickable

Branches in the branch table should be double-clickable such that when they're double clicked it checks out that branch (instead of using the buttons).

Add context menu

When right-clicking commits in the commit table, a context menu should appear with options relevant to that commit.

Add error handling

For when users try to do things like checkout a branch while there are uncomitted changes

Refactor graph structure

Currently the graph only shows one continuous branch. It should show branches going in separate directions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.