GithubHelp home page GithubHelp logo

abtagle / visualgit_se701 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kblincoe/visualgit_se701

0.0 2.0 0.0 2.53 MB

Visual Git Client

JavaScript 42.96% TypeScript 42.24% Python 1.08% HTML 5.99% CSS 7.72%

visualgit_se701's Introduction

Welcome

An easy-to-use, visually-oriented desktop client for Git aimed at helping students learn the standard Git workflow. You can get a summary of our project by reading our cool poster :)

Installation

Prerequisites

npm (Node Package Manager) is used to manage VisualGit's dependencies, therefore it is required to install and run VisualGit. Follow the installation instructions below:

Centos-based systems

sudo yum install npm

Debian-based systems

sudo apt-get install npm

Mac

If you have homebrew installed:

brew install npm

Otherwise download and install the latest version of Node.j (v6.2.1 or later)

Windows

Download and install the latest version of Node.js (v6.2.1 or later)

Setup

Clone with either HTTPS or SSH:

SSH

git clone [email protected]:ElliotWhiley/VisualGit.git

HTTPS

git clone https://github.com/ElliotWhiley/VisualGit.git

then...

cd VisualGit
npm install
npm start

ssh-agent

As VisualGit utilises SSH for user authentication, ensure you generate an SSH key for your GitHub account. If you are not running on Mac, you will also need to set up and run an ssh-agent to access your SSH key at run time without providing your credentials each time.

Development

TypeScript

TypeScript is a statically-typed superset of JavaScript that compiles into JavaScript. Most of our source files are written in TypeScript (.ts files), therefore you will need to run a TypeScript compiler to compile the source code to JavaScript (.js files) as you make changes, e.g. typescript-compiler for Node.

Sass

Sass (Syntactically Awesome Style Sheets) is a CSS preprocessor with some handy extra features. All of our Style Sheets are written in Sass (.scss files), which compile into CSS (.css files). Therefore, you will need to a run a Sass-compiler to compile your .scss files into .css files as you make changes, e.g. node-sass for Node.

Features

Opening / Cloning repositories

Repositories can be added by two methods; either by cloning the remotely hosted repository or opening it from the local file system. This is achieved using the add repository button in the top left which will update the screen to the add repository view.

Clone

Cloning with SSH is recommended as there is not yet any method for entering user credentials in VisualGit. This means that if you clone using HTTPS, you will still be able to see local changes and commit locally but not push.

Open local repository

Currently, when you clone a repository, it is saved to a directory under ./VisualGit/. This means that when you open a repository which is saved locally, you can simply enter the name of the directory relative to the VisualGit directory. Other save locations are not currently supported but it is planned in future work.

Adding & Committing

When changes are made in a repository which is open, the interface will update by showing each file which has uncommitted changes. These changes will be displayed as a traffic light scheme:

  • Green: Added file
  • Orange: Modified file
  • Red: Deleted file

This is used to allow users to see the different types of changes easily and once they click on the files, the file differences will be shown. The file differences are shown line by line with green lines representing added lines and red representing deleted lines. Any other parts of the file are unchanged.

Pushing & Pulling from remote

The pulling and pushing currently works for changes which are made on master and origin/master by syncing these up. When the pull button is clicked, any changes on the remote repository will be added to the local repository and the graph will be updated. When pushing, the same process applies. The changes on master will be pushed to the remote repository.

Contributing

We are open to pull requests with new features or improvements.

Help

Visualgit utilises a range of libraries and frameworks, more information on them can be found below:

visualgit_se701's People

Contributors

elliotwhiley avatar harveyrendell avatar softeng-701 avatar

Watchers

James Cloos avatar Aimee avatar

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.