如何正确初始化远程git存储库
我有一个本地git服务器在我的NAS上运行,我在我的笔记本电脑和工作站上开发,所有这些都在我的本地网络中。所以,如果我想在一个新的空回购协议中启动一个项目,我会遵循如何正确初始化远程git存储库,git,Git,我有一个本地git服务器在我的NAS上运行,我在我的笔记本电脑和工作站上开发,所有这些都在我的本地网络中。所以,如果我想在一个新的空回购协议中启动一个项目,我会遵循 在NAScd${PROJECT}.git上创建一个裸repo“mynewproject.git”;git init--裸的 在NAScd${PROJECT}上创建一个空的“repo”mynewproject;git init 在“newproject”git add中进行初始提交;git提交-m“初始提交”-a 使裸repo成为当前
cd${PROJECT}.git上创建一个裸repo“mynewproject.git”;git init--裸的
cd${PROJECT}上创建一个空的“repo”mynewproject;git init
git add中进行初始提交;git提交-m“初始提交”-a
git remote add origin ssh://${USER}@${REMOTEIP}${PROJECT}.git
git推送到原始主机
rm-rf$project
${PROJECT}.git
repo。整个过程似乎过于复杂。我是说,是我写的
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
但是,这是正确的方法吗?您的流程基本上是好的,但有点过度使用。你不需要医生 NAS上的非裸存储库,因此您的工作流应该
cd${PROJECT}.git;git init--裸的
${PROJECT}.git
repo。这会将远程回购添加到非裸回购中cd${PROJECT},而不是clonning;git-init;git远程添加源ssh://${USER}@${HOSTIP}${PROJECT}.git
git add;git commit-m“初始提交”-a
git Push origin主机
我很困惑。你为什么要同时进行新的无担保回购和常规回购?ups,我链接了错误的操作方法。我遵循了……在我看来,第二个非裸repo是不需要的。而且,我认为在同一个平台上链接repo不需要ssh连接machine@evolutionxbox需要SSH连接才能从其他机器连接到NAS上的远程裸repo。谢谢,是的,实际上有点过于复杂了。尽管如此,我还是会保持这种方式,因为这样我就可以从任何其他机器上查看回购协议,并开始实际操作。否则,我将不得不在以后添加远程原点。