Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.
/ fgit-go Public archive

🔧 A go-written tool to do git operation with fastgit easily

License

Notifications You must be signed in to change notification settings

FastGitORG/fgit-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fastgit

fgit-go

CircleCI LGBT-CN

Command line to do git operation with FastGit.

What works

  • Stdout/stderr
    Real-time display has been tested in Windows 10 (build 1809)

  • Push
    fgit push command had been tested in Windows 10 (build 1809)

  • Clone
    fgit clone GITHUB_URL command had been tested in Windows 10 (build 1809)

Preparation

Before use fgit-go, install git by yourself. Add git to env PATH is also required.

Download source code of fgit-go, build and run.

Extra Syntax

1. debug

SYNTAX:

fgit debug [URL<string>] [help]

FUNCTION:

This command line is for debug. Will provide remote addr, local addr, and connection info.

EXAMPLE:

>fastgit debug
FastGit Debug Tool
==================
Remote Address: https://hub.fastgit.org
IP Address: [x.x.x.x]
Local Address: [x.x.x.x]
Test connection...Success

2. get

SYNTAX:

fgit get [URL<string>] [Path<string>] [--help]

ALIAS:

fgit dl
fgit download

FUNCTION:

This command line is for downloading. Will auto convert github download link to fastgit.

EXAMPLE:

>fgit get https://github.com/fastgitorg/fgit-go/archive/master.zip
File with the same name exists. New file will cover the old file.
Do you want to continue? [Y/n]y
Redirect url -> https://download.fastgit.org/fastgitorg/fgit-go/archive/master.zip
Downloading...
Finished.

Difference between fgit

fgit by @xkeyc only provides clone operation support, but fgit-go provides push and etc.

And, fgit-go is cross-platform.

How does fgit-go work

To clone, fgit-go just replaces url to FastGit url.

To push, fgit-go modifies .git config temporarily. Like

[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[remote "origin"]
        url = https://github.com/A/B
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

To

[core]
        repositoryformatversion = 0
        filemode = false
        bare = false
        logallrefupdates = true
        symlinks = false
        ignorecase = true
[remote "origin"]
        url = https://hub.fastgit.org/A/B
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

Open-Source License - GNU General Public License v3.0

                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

Proudly build with ❤️ & golang