Gitcopier
Help developers to integrate between multiple repositories.
Installation
Add this line to your application's Gemfile:
gem 'gitcopier'
And then execute:
$ bundle
Or install it yourself as:
$ gem install gitcopier
Motivation
Imagine you are a Rails developer, your expertise is designing and developing backend logic so you have one or more front end developers to help you with design, javascript, stylesheet ... However, they are working in Nodejs environment which is pretty different to Rails environment thus they have different repository. In order to apply (integrate) changes from that repository, you might have to see what files were changed, copy them to appropriate places in your Rails repository. Doing so is really annoying. You should have a better way of doing it.
How Gitcopier
work
Gitcopier
helps you in intergrating those changes. Whenever you pull from front-end
repository, Gitcopier
will ask you to decide where to copy changed file
(modified, added). It remembers your dicisions to automatically copy or not copy
in the future without asking you. This way, if front-end developers commit a
change to existing files, you just have to pull that repository and Gitcopier
will
do all copying works.
Usage
Tell Gitcopier
your repositories
gitcopier --from <path_to_external_repo> --to <path_to_main_repo>
where:
<path_to_external_repo>
: is absolute path to the repository that you wantGitcopier
to copy files from. This repo must be under git control.<path_to_main_repo>
: is absolute path to the repository that you wantGitcopier
to copy files to.
Note:
gitcopier -h
for helpgitcopier -h Usage: gitcopier [options] --from [path] Absolute path to your local repository that you want to copy from. This option must go with --to. --to [path] Absolute path to your local repository that you want to copy to. This option must go with --from. -v, --version --showall Show all integration information. This option ignore any other options.
Working with git merge
After you git pull
in external repository, Gitcopier
will prompt your decision
where to copy the changed files.
Contributing
- Fork it ( https://github.com/tranvictor/gitcopier/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request