All Projects → pfnet-research → git-ghost

pfnet-research / git-ghost

Licence: Apache-2.0 License
Synchronize your working directory efficiently to a remote place without committing the changes.

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to git-ghost

alchemy
Experiments logging & visualization
Stars: ✭ 49 (-19.67%)
Mutual labels:  reproducibility
OSODOS
Open Science, Open Data, Open Source
Stars: ✭ 23 (-62.3%)
Mutual labels:  reproducibility
ggtrack
restlessdata.com.au/ggtrack
Stars: ✭ 39 (-36.07%)
Mutual labels:  reproducibility
rubicon-ml
Capture all information throughout your model's development in a reproducible way and tie results directly to the model code!
Stars: ✭ 81 (+32.79%)
Mutual labels:  reproducibility
myconfig
my Linux Configuration
Stars: ✭ 23 (-62.3%)
Mutual labels:  reproducibility
bramble
Purely functional build system and package manager
Stars: ✭ 173 (+183.61%)
Mutual labels:  reproducibility
mlreef
The collaboration workspace for Machine Learning
Stars: ✭ 1,409 (+2209.84%)
Mutual labels:  reproducibility
ten-years
Ten Years Reproducibility Challenge
Stars: ✭ 59 (-3.28%)
Mutual labels:  reproducibility
targets-minimal
A minimal example data analysis project with the targets R package
Stars: ✭ 50 (-18.03%)
Mutual labels:  reproducibility
classification
Catalyst.Classification
Stars: ✭ 35 (-42.62%)
Mutual labels:  reproducibility
nixcfg
My nix configuration(s), using flakes. It's my laptop, it's my servers, it's my everything, in code.
Stars: ✭ 44 (-27.87%)
Mutual labels:  reproducibility
Reproducibilidad
Reproducible Science: what, why, how
Stars: ✭ 39 (-36.07%)
Mutual labels:  reproducibility
ReproducibleScience
Short course on reproducible science: what, why, how
Stars: ✭ 23 (-62.3%)
Mutual labels:  reproducibility
lightning-hydra-template
PyTorch Lightning + Hydra. A very user-friendly template for rapid and reproducible ML experimentation with best practices. ⚡🔥⚡
Stars: ✭ 1,905 (+3022.95%)
Mutual labels:  reproducibility
researchcompendium
NOTE: This repo is archived. Please see https://github.com/benmarwick/rrtools for my current approach
Stars: ✭ 26 (-57.38%)
Mutual labels:  reproducibility
ukbrest
ukbREST: efficient and streamlined data access for reproducible research of large biobanks
Stars: ✭ 32 (-47.54%)
Mutual labels:  reproducibility
open-solution-googleai-object-detection
Open solution to the Google AI Object Detection Challenge 🍁
Stars: ✭ 46 (-24.59%)
Mutual labels:  reproducibility
rr-organization1
The Organization lesson for the Reproducible Science Curriculum
Stars: ✭ 36 (-40.98%)
Mutual labels:  reproducibility
mlr3-learndrake
Template for using mlr3 with drake
Stars: ✭ 18 (-70.49%)
Mutual labels:  reproducibility
stantargets
Reproducible Bayesian data analysis pipelines with targets and cmdstanr
Stars: ✭ 31 (-49.18%)
Mutual labels:  reproducibility

git-ghost

GoDoc Build Status Coverage Status

Git Ghost is a command line tool for synchronizing your working directory efficiently to a remote place without commiting changes.

Concept

Git Ghost creates 2 types of branches to synchronize your working directory.

Commits Branch

This type of branch contains commits between 2 commits which can exist only in your working directory.

Diff Branch

This type of branch contains modifications from a specific commit in your working directory.

Installing

From Source

Install the binary from source: execute,

$ git clone https://github.com/pfnet-research/git-ghost
$ cd git-ghost
$ make install

Using Homebrew

$ brew tap pfnet-research/git-ghost
$ brew install git-ghost

Releases

The binaries of each releases are available in Releases.

Getting Started

First, create an empty repository which can be accessible from a remote place. Set the URL as GIT_GHOST_REPO env.

Assume your have a local working directory DIR_L and a remote directory to be synchronized DIR_R.

Case 1 (DIR_L HEAD == DIR_R HEAD)

You can synchoronize local modifications.

$ cd <DIR_L>
$ git-ghost push
<HASH>
$ git-ghost show <HASH>
...
$ cd <DIR_R>
$ git-ghost pull <HASH>

Case 2 (DIR_L HEAD > DIR_R HEAD)

You can synchronize local commits and modifications.

Assume DIR_R's HEAD is HASH_R.

$ cd <DIR_L>
$ git-ghost push all <HASH_R>
<HASH_1> <HASH_2>
<HASH_3>
$ git-ghost show all <HASH_2> <HASH_3>
...
$ cd <DIR_R>
$ git-ghost pull all <HASH_2> <HASH_3>

Development

# checkout this repo to $GOPATH/src/git-ghost
$ cd $GOPATH/src
$ git clone [email protected]:pfnet-research/git-ghost.git
$ cd git-ghost

# build
$ make build

# see godoc
$ go get golang.org/x/tools/cmd/godoc
$ godoc -http=:6060  # access http://localhost:6060 in browser

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Copyright

Copyright (c) 2019 Preferred Networks. See LICENSE for details.

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].