All Projects â†’ ksindi â†’ monoreaper

ksindi / monoreaper

Licence: MIT license
🌱 Create a monorepo by merging multiple github repositories

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to monoreaper

Octotab.crx
âš’ (I'm dead) A super tiny chrome extension making your Github news feed more organized.
Stars: ✭ 17 (-19.05%)
Mutual labels:  utility
wifiqr
Create a QR code with your Wi-Fi login details
Stars: ✭ 207 (+885.71%)
Mutual labels:  utility
youtube-unofficial
Access parts of your account unavailable through normal YouTube API access.
Stars: ✭ 33 (+57.14%)
Mutual labels:  utility
xcursorlocate
cursor location indicator for x11
Stars: ✭ 16 (-23.81%)
Mutual labels:  utility
dotfiles
dotfiles symbolic links management CLI
Stars: ✭ 156 (+642.86%)
Mutual labels:  utility
useful
🇨🇭 A collection of useful functions for working in Elixir
Stars: ✭ 21 (+0%)
Mutual labels:  utility
JetBrainsRunner
A Krunner Plugin which allows you to open your recent projects
Stars: ✭ 31 (+47.62%)
Mutual labels:  utility
yarn-workspaces-simple-monorepo
Yarn Workspaces basic monorepo management without Lerna for coding examples
Stars: ✭ 31 (+47.62%)
Mutual labels:  monorepo
timestampy
🕒 Bunch of utilities useful when working with UNIX timestamps
Stars: ✭ 21 (+0%)
Mutual labels:  utility
monorepo
Structure and workflows of our internal git-maven-monorepo
Stars: ✭ 16 (-23.81%)
Mutual labels:  monorepo
DropPoint
Make drag-and-drop easier using DropPoint. Drag content without having to open side-by-side windows
Stars: ✭ 303 (+1342.86%)
Mutual labels:  utility
drain-js
Makes smooth transitions between two numbers.
Stars: ✭ 45 (+114.29%)
Mutual labels:  utility
rhq
Manages your local repositories
Stars: ✭ 48 (+128.57%)
Mutual labels:  utility
fsimilar
find/file similar
Stars: ✭ 13 (-38.1%)
Mutual labels:  utility
renestql
React, NestJS & GraphQL monorepo boilerplate managed with nx
Stars: ✭ 25 (+19.05%)
Mutual labels:  monorepo
cdetect
🔬 Detect which compiler and compiler version a Linux executable (in the ELF format) was compiled with
Stars: ✭ 23 (+9.52%)
Mutual labels:  utility
slickgrid-universal
Slickgrid-Universal is a monorepo which includes all Editors, Filters, Extensions, Services and is Framework Agnostic to take full advantage of SlickGrid core lib.
Stars: ✭ 29 (+38.1%)
Mutual labels:  monorepo
character
tool for character manipulations
Stars: ✭ 26 (+23.81%)
Mutual labels:  utility
PathCleaner
Cleanup tool for polluted PATH environment variable
Stars: ✭ 18 (-14.29%)
Mutual labels:  utility
RaycastVisualization
This asset allows users to view raycasts as the user fires them.
Stars: ✭ 61 (+190.48%)
Mutual labels:  utility

MonoReaper

Merge multiple GitHub repositories into a monorepo while preserving commit history. Each repo will live as a subdirectory. Currently only works in Linux.

Features:

  • Merge multiple repos while keeping full history and commit hashes.
  • Specify branches of each repo to merge.
  • Migrate repos into existing monorepo.

Requirements:

  • git version 2.9+.

Usage

export MONOREPO_NAME=monorepo  # defaults to monorepo
git clone [email protected]:ksindi/monoreaper.git && cd monoreaper/
chmod +x monoreaper.sh
bash monoreaper.sh owner/repo0 owner/repo1
# you can specify another default branch via `owner/repo0/some-branch`.

The above script will create a monorepo directory with a README.md file and subdirectores repo0 and repo1. Note only the default branches of each repo will be included.

If you now want to add the monorepo to GitHub:

cd monorepo/
git remote add origin [email protected]:owner/monorepo
git push -f origin master

Merging with existing monorepos

If you already have a monorepo and want to merge other repos into it, all you have to do is include a MONOREPO_DIR env variable:

MONOREPO_DIR=path/to/my/monorepo bash monoreaper.sh owner/repo0 owner/repo1

Note that the MONOREPO_DIR must have master as default branch.

Why monorepos?

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