我有一个在我的NAS上运行的本地git服务器,并且我在我的笔记本电脑和工作站上进行开发,所有设备都在本地网络中。所以,如果我想在一个新的空仓库中开始一个项目,我会按照这个答案的步骤:
- 在NAS上创建一个裸仓库"mynewproject.git"
cd ${PROJECT}.git; git init --bare
- 在NAS上创建一个空的仓库"mynewproject"
cd ${PROJECT}; git init
- 在"mynewproject"中做一个最初的提交
git add . ; git commit -m "initial commit" -a
- 将裸仓库设置为当前文件夹的远程源
git remote add origin ssh://${USER}@${REMOTEIP}${PROJECT}.git
- 推送到主分支
git push origin master
- 删除"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
但是,这样做是正确的方式吗?