3 ответов:
если у вас есть доступ к общему каталогу, вы можете (см.
git cloneи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это создаст голые РЕПО, на который ссылаются в локальном РЕПО как "рабочий стол".
Поскольку он голый, вы можете нажать на него (а также вытащить из него, если это необходимо)git push desktopкак ProGit книге упоминается, git поддерживает файловый протокол:
самое основное это Local протокол, в котором удаленный репозиторий находится в другом каталоге на диске.
Это часто используется, если все члены вашей команды имеют доступ к общей файловой системе, такой как монтирование NFS, или в менее вероятном случае, когда все входят на один и тот же компьютер.
вот сценарий, который я написал, чтобы сделать именно это. Скрипт обрабатывает все мои обычные инициализации новых git repos
- создает .gitignore file
- инициализирует .ГИТ
- создает голый git РЕПО на сервере
- устанавливает локальный репозиторий Git, чтобы подтолкнуть к удаленному РЕПО
вам определенно придется изменить его в соответствии с любой настройкой у вас есть, особенно если вы имеете дело с ноутбуком/настольным компьютером Windows.
вот полный скрипт:
#!/bin/bash # Create Git Repository # created by Jim Kubicek, 2009 # [email protected] # 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/
самый простой (не лучший) способ-поделиться каталогом репозитория через локальную сеть и использовать git
file://протокол (см.man git).для меня лучший способ-использовать
gitolite(см. gitolite docs подробные инструкции).
Comments