Description
stash a file or a tree of files for later reuse - a bit like git stash
fstash alternatives and similar packages
Based on the "Utilities" category.
Alternatively, view fstash alternatives based on common mentions on social networks and blogs.
-
项目文档
基于vite+vue3+gin搭建的开发基础平台(支持TS,JS混用),集成jwt鉴权,权限管理,动态路由,显隐可控组件,分页封装,多点登录拦截,资源权限,上传下载,代码生成器,表单生成器,chatGPT自动查表等开发必备功能。 -
excelize
Go language library for reading and writing Microsoft Excel™ (XLAM / XLSM / XLSX / XLTM / XLTX) spreadsheets -
xlsx
(No longer maintained!) Go (golang) library for reading and writing XLSX files. -
godotenv
A Go port of Ruby's dotenv library (Loads environment variables from .env files) -
hystrix-go
Netflix's Hystrix latency and fault tolerance library, for Go -
go-funk
A modern Go utility library which provides helpers (map, find, contains, filter, ...) -
gorequest
GoRequest -- Simplified HTTP client ( inspired by nodejs SuperAgent ) -
goreporter
A Golang tool that does static analysis, unit testing, code review and generate code quality report. -
Kopia
Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included. -
gojson
Automatically generate Go (golang) struct definitions from example JSON -
lancet
A comprehensive, efficient, and reusable util function library of go. -
create-go-app
✨ Create a new production-ready project with backend, frontend and deploy automation by running one CLI command! -
spinner
Go (golang) package with 90 configurable terminal spinner/progress indicators. -
filetype
Fast, dependency-free Go package to infer binary file types based on the magic numbers header signature -
EaseProbe
A simple, standalone, and lightweight tool that can do health/status checking, written in Go. -
boilr
:zap: boilerplate template manager that generates files or directories from template repositories -
mole
CLI application to create ssh tunnels focused on resiliency and user experience. -
beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps. -
go-underscore
Helpfully Functional Go - A useful collection of Go utilities. Designed for programmer happiness. -
mimetype
A fast Golang library for media type and file extension detection, based on magic numbers -
JobRunner
Framework for performing work asynchronously, outside of the request flow -
git-time-metric
Simple, seamless, lightweight time tracking for Git
Access the most powerful time series database as a service
Do you think we are missing an alternative of fstash or a related project?
Popular Comparisons
README
fstash
Stash a file or a tree of files for later reuse - a bit like git stash
. Prebuilt binaries are available for Linux, Windows and Darwin. Just extract it somewhere inside your $PATH
.
It skips .git
directory.
test
Use this command:
$ go test -v *.go
usage story
Assume you write various applications and for each new project you add some initial files as the beginning skeleton. Also you replace some strings or expand some templates to add various information to the application, like author or other metadata.
This is one the of best fitting scenarios for using fstash. You create a stash from the skeleton files and then expand it whenever you are creating a new project. Also it is possible to provide the metadata to be injected into files.
As an example take a look at sample-stash
directory. In this directory there is a Go file named variables.go
. This file contains some variables that will be filled at compile time by Go compiler and come from build.sh
file. Also there are two other variables Author
and License
which will be filled when we expand this stash for a new project.
First let’s create the stash:
$ cd sample-stash/
$ fstash create -n newproject
Now let’s create a new project which skeleton will be created from that stash:
$ cd ~/Documents/
$ mkdir newapp
$ cd newapp/
$ fstash expand -n newproject variables='{"Author":"Kaveh","License":"MIT"}'
Last command expands the stash we created in previous step, into current directory. The part variables='{"Author":"Kaveh","License":"MIT"}'
indicates that variables.go
is a (Go) text template file and the provided JSON should be passed to it as model data.
Now the content of variables.go is:
package main
// build flags
var (
BuildTime string
CommitHash string
GoVersion string
GitTag string
)
// package info
const (
Author = "Kaveh"
License = "MIT"
)
Tada! :)
I hope you find this tool useful.
*Note that all licence references and agreements mentioned in the fstash README section above
are relevant to that project's source code only.