Git Product home page Git Product logo

gitfresh's Introduction

GitFresh

A Developer Experience Tool to Keep Git local Repositories Updated ๐Ÿ˜Ž

Use Cases

Collaborative Software Development: In software development teams, multiple members may work on a shared project. Keeping local repositories updated ensures that everyone is working with the latest version of the code and reduces integration conflicts.

Frontend and Backend Integration: In a local integration environment, a frontend developer needs to keep their local repository updated with the latest changes from the develop backend API, which is being developed by a teammate, to ensure smooth integration.

Feel free to use the gitfresh tool for other scenarios as well!

Install

Gitfresh is available for MacOS and Linux via Homebrew.

First, you should install HomeBrew.

Then, run the following command:

brew install apolo96/tap/gitfresh

Check installation:

gitfresh version

For Windows via Scoop:

scoop bucket add gitfresh https://github.com/apolo96/scoop-bucket.git
scoop install gitfresh

Quickstart

GitFresh is a tool powered by Github and Ngrok.

I hope to add support to other git server providers in the future.

Requirements

  • Github Token
  • Ngrok Token

You can go to Github to create a new token with admin:repo_hook scope:

https://github.com/settings/tokens

You can go to Ngrok to get a personal token:

https://dashboard.ngrok.com/get-started/your-authtoken

Initialize Workspace

After installing GitFresh via Homebrew and getting GitHub and Ngrok tokens, then you can initialize a workspace:

First, go to the working directory that contains your Git repositories and run the following command:

gitfresh config

It opens the CLI Form where you should enter the GitHub and Ngrok tokens.

The TunnelDomain input is OPTIONAL, by default Ngrok generates a random DNS.

If you prefer, you can create a custom domain at: https://dashboard.ngrok.com/cloud-edge/domains.

Finally, run the following command:

gitfresh init

This command can take some seconds for startup services.

Add new repository

You can add new repositories to Gitfresh. Running the following command:

gitfresh scan

Discover the CLI

gitfresh -help

How It Works

GitFresh creates GitHub webhooks to send notifications of events git-push through an internet tunnel provided by Ngrok that triggers repository updates on the local machine (gitfresh agent)

gitfresh-architecture

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.