Как правильно инициализировать удаленный репозиторий git - PullRequest
0 голосов
/ 30 декабря 2018

На моем NAS запущен локальный сервер git, и я работаю на своем ноутбуке и рабочей станции, все в моей локальной сети.Итак, если я хочу запустить проект в новом пустом репо, я следую за этим ответом и

  1. , чтобы создать голое репо "mynewproject.git" на NAS cd ${PROJECT}.git; git init --bare
  2. создать пустой репо "mynewproject", также на NAS cd ${PROJECT}; git init
  3. сделать первоначальный коммит в "newproject" git add . ; git commit -m "initial commit" -a
  4. сделатьbare репо удаленного источника текущей папки git remote add origin ssh://${USER}@${REMOTEIP}${PROJECT}.git
  5. push to master git push origin master
  6. удалить каталог 'project' rm -rf $PROJECT

и затемЯ могу клонировать репо ${PROJECT}.git с других машин.Весь этот процесс кажется слишком сложным.Я имею в виду, я написал это,

HOSTIP=XXX.XXX.XXX.XXX
USER=YYYYY
PROJECT=$1

[[ -z "${PROJECT}" ]] && exit 1

PROJECTNAME=${PROJECT}
PROJECT=$(pwd)/${PROJECT}

# create project and .git folders
mkdir ${PROJECT}
mkdir ${PROJECT}.git

# initialize folders for git
cd ${PROJECT}.git
git init --bare
cd ${PROJECT}
git init

# create initial project directory
echo "#!/bin/bash" > ${PROJECT}/ENV_${PROJECTNAME}.sh
git add .
git commit -m "initial commit" -a

# 'link' to 'remote' .git folder 
git remote add origin ssh://${USER}@${HOSTIP}${PROJECT}.git

# push to master
git push origin master

# delete 'project' directory
rm -rf $PROJECT

echo "CREATED PROJECT $PROJECT.git"
echo "Clone with git clone ssh://${USER}@${HOSTIP}${PROJECT}"

exit 0

но все же, это правильный путь?

1 Ответ

0 голосов
/ 30 декабря 2018

Ваш процесс в основном хорош, но немного сложен.Вам не нужен репозиторий non-bare на NAS, поэтому ваш рабочий процесс должен быть

  1. Создать репозиторий на NAS: cd ${PROJECT}.git; git init --bare.
  2. Клонировать ${PROJECT}.git Репо на другой машине.Это добавит пульт дистанционного управления в репозиторий non-bare.
  3. Вместо клонирования вы можете создать пустой репозиторий non-bare на другом компьютере и добавить remote: cd ${PROJECT}; git init; git remote add origin ssh://${USER}@${HOSTIP}${PROJECT}.git.
  4. Сделать начальноеФиксация в клонированном репозитории non-bare на другом компьютере: git add . ; git commit -m "initial commit" -a.
  5. Передача мастера с другого компьютера в голое репо на NAS: git push origin master.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...