All Projects → FastGitORG → fgit-go

FastGitORG / fgit-go

Licence: GPL-3.0 license
🔧 A go-written tool to do git operation with fastgit easily

Programming Languages

go
31211 projects - #10 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to fgit-go

nginx-conf
⚙️ Nginx conf of FastGit, core part of fastgit web booster module
Stars: ✭ 73 (-5.19%)
Mutual labels:  fastgit

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].