Skip to content

Instantly share code, notes, and snippets.

@manuelep
Created September 18, 2024 13:07
Show Gist options
  • Save manuelep/757e3b9ba98a9db56daec27c2d41edb4 to your computer and use it in GitHub Desktop.
Save manuelep/757e3b9ba98a9db56daec27c2d41edb4 to your computer and use it in GitHub Desktop.
merge di repository
#!/bin/bash
# Controlla se sono stati forniti esattamente due argomenti
if [ "$#" -ne 2 ]; then
echo "Uso: $0 <nome_cartella> <url_repository>"
exit 1
fi
# Assegna gli argomenti a variabili
folder_name=$1
repo_url=$2
# Aggiungi il repository remoto
git remote add $folder_name "$repo_url"
git fetch $folder_name
# Crea una directory per il repository e sposta i file
mkdir "$folder_name"
git checkout develop
git checkout -b feature/$folder_name $folder_name/main
git merge --allow-unrelated-histories FETCH_HEAD
git ls-tree -z --name-only HEAD | xargs -0 -I {} git mv {} $folder_name/
git commit -m "Merge $folder_name repository into combined-repo"
git checkout main
echo "La repository è stata unita!"
@manuelep
Copy link
Author

primi passi della procedura a questa pagina: https://www.linkedin.com/pulse/merge-multiple-git-repositories-without-breaking-file-akshay-kaushik-qto1f/

sono ancora esclusi i passaggi di merge veri e propri:

  • git merge feature/<nome> --allow-unrelated-histories

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment