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

gitfresh's People

Contributors

apolo96 avatar

Stargazers

Alexis Rodríguez avatar Andrea Liliana Griffiths avatar

Watchers

 avatar

gitfresh's Issues

Add new "start" CLI command to Initialize Agent on OS

We need to create a new command start for our CLI tool. This command will be responsible for initializing and starting the agent on the operating system. This will enhance the functionality of our tool by providing an easy way to start the agent without needing to manually run scripts or commands.

Requirements:

  • Add a new command start to the CLI tool.
  • Provide feedback to the user indicating whether the agent was successfully started or if any errors occurred.
  • Ensure the command is documented in the CLI tool's documentation.

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.