J'ai un dépôt Git local sur mon ordinateur portable. Je voudrais le pousser vers mon ordinateur de bureau.
Comment puis-je faire ça ?
J'ai un dépôt Git local sur mon ordinateur portable. Je voudrais le pousser vers mon ordinateur de bureau.
Comment puis-je faire ça ?
Si vous avez accès à un répertoire partagé, vous pouvez (voir git clone
et git remote
) :
git clone --bare /path/to/your/laptop/repo /shared/path/to/desktop/repo.git
git remote add desktop /shared/path/to/desktop/repo.git
Cela créera un Repos brut référencé dans votre dépôt local sous le nom de "desktop".
Puisqu'il est nu, vous pouvez y pousser (ainsi que tirer dessus si nécessaire).
git push desktop
Comme le Mentions du livre ProGit git supporte le protocole de fichier :
Le plus élémentaire est le Local dans lequel le référentiel distant se trouve dans un autre répertoire sur le disque.
Cette méthode est souvent utilisée si tous les membres de votre équipe ont accès à un système de fichiers partagé tel qu'un montage NFS, ou dans le cas moins probable où tout le monde se connecte au même ordinateur.
Voici un script que j'ai écrit pour faire justement cette chose. Le script gère l'initialisation habituelle des nouveaux dépôts git.
Vous devrez certainement le modifier pour l'adapter à votre configuration, surtout si vous utilisez un ordinateur portable ou de bureau sous Windows.
Voici le script complet :
#!/bin/bash
# Create Git Repository
# created by Jim Kubicek, 2009
# jimkubicek@gmail.com
# http://jimkubicek.com
# DESCRIPTION
# Create remote git repository from existing project
# this script needs to be run from within the project directory
# This script has been created on OS X, so YMMV
#######
# Parameters
REPLOGIN=#Login name
REPADDRESS=#Repo address
REPLOCATION=/Users/Shared/Development #Repo location
# The repo name defaults to the name of the current directory.
# This regex will accept foldernames with letters and a period.
# You'll have to edit it if you've got anything else in your folder names.
REPNAME=`pwd | egrep -o "/[a-zA-Z]+$" | egrep -o "[a-zA-Z\.]+"`
# If you have standard files/directories to be ignored
# add them here
echo "Creating .gitignore"
echo 'build/' >> .gitignore # The build directory should be ignored for Xcode projs
echo '.DS_Store' >> .gitignore # A good idea on OS X
# Create the git repo
echo "Initializing the repo"
git init
git add .
git commit -m "Initial commit"
# Copy the repo to the server
echo "Copying the git repo to the server $REPADDRESS"
TEMPREP="$REPNAME.git"
git clone --bare .git $TEMPREP
scp -r $TEMPREP $REPLOGIN@$REPADDRESS:$REPLOCATION/
rm -rf $TEMPREP
# Set up the origin for the project
echo "Linking current repository to remote repository"
git remote add origin $REPLOGIN@$REPADDRESS:$REPLOCATION/$REPNAME.git/
Le moyen le plus simple (mais pas le meilleur) est de partager le répertoire du dépôt via un réseau local, et d'utiliser la fonction git file://
(voir man git
).
Pour moi, le meilleur moyen est d'utiliser gitolite
(voir docs gitolite pour des instructions détaillées).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.