Code Monkey home page Code Monkey logo

smartcommit's Introduction

SmartCommit

SmartCommit makes committing both an elegant and decent daily work.

Developers are encouraged to submit cohesive and self-contained commits, with clear and uniform commit messages. That's exactly what SmartCommit tries to do, by firstly taking over the job of git-status, git-diff, git-add, git-commit and git-push commands.

To live up to the name, SmartCommit will gradually provide more advanced features to make it a real smart assistant for developers. Suggestions and Issues are welcomed!


Features

  • Stage&Commit changes in groups
  • Diff&Compare diff code side by side or line by line
  • Suggest words for commit message
  • Push to the remote
  • Customizable template for commit message (developing)

As a User

Currently the app only support Windows x64, Linux and macOS version will be released when the :-)

Requirements

  • Windows
  • Git
  • Network access

Installation

Installer

  1. Download the latest release installer SmartCommit-Setup-x.y.z.exe from https://github.com/Symbolk/SmartCommit/releases/latest ;
  2. Double click it to install on your machine;

Security software like 360 may report warnings, it is safe to ignore.

  1. Choose&Copy the path to install it;

After the installation, better not choose to directly run it, see the following Usage.

  1. Append the path to PATH of your environment variable.

Portable

  1. Download the latest release portable package SmartCommit-Portable-x.y.z.zip from https://github.com/Symbolk/SmartCommit/releases/latest ;
  2. Unzip the zip package to a folder, copy the path of this folder, in which you can find the file SmartCommit.exe;
  3. Append the path to PATH of your environment variable.

Usage:

When you have some changes to commit:

  1. Open the terminal (CMD or Git-bash), cd to the git repo directory;
  2. Type the command git sc then you are ready to go!

In case of error: git: 'sc' is not a git command. See 'git --help'. This is because the PATH environment variable is not reloaded, please restart the terminal after 3 mins or so.

Screenshots

Repo status

status

Side by side diff

side_diff

Inline diff

inline_diff

Commit

commit

Push

push push_ok


As a Developer

Requirements

  • Windows
  • Git ^2.18.0
  • Node.js ^v10.16.0
  • Yarn ~v1.16.0
  • Vue-cli ~v3.8.4

Setup

  1. Run the following command under the root directory of the cloned repo to install dependencies:
yarn install

  1. Compiles and hot-reloads for development:
yarn run electron:serve

  1. [OR] Build the executable for production:
yarn run electron:build

Project Infrastructure

SmartCommit is powered by multiple nice open source projects.

Module Component Version
Frontend Vue ^2.6.10
Scaffold vue-smooth-dnd ^0.8.0
UI bootstrap-vue ^2.0.0-rc.24
Modal sweet-modal-vue ^2.0.0
Icon vue-awesome ^3.5.4
App Framework Electron ^5.0.0
Git Function git-js ^1.118.0
Diff View vue-monaco ^1.0.1
Language Detector language-detect ^1.1.0
Git Graph gitgraph.js ^1.3.0

License

MIT

Copyright (c) 2019-present, Symbolk

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.