gpt4 book ai didi

git - 如何正确初始化远程 git 仓库

转载 作者:行者123 更新时间:2023-12-05 03:03:27 29 4
gpt4 key购买 nike

我有一个本地 git 服务器在我的 NAS 上运行,我正在我的笔记本电脑和工作站上进行开发,所有这些都在我的本地网络中。所以,如果我想在一个新的空 repo 中开始一个项目,我会关注 this answer

  1. 在 NAS cd ${PROJECT}.git 上创建一个裸仓库“mynewproject.git”; git init --bare
  2. 创建一个空的“repo”“mynewproject”,也在 NAS 上 cd ${PROJECT}; git 初始化
  3. 在“新项目”git add 中进行初始提交。 ; git commit -m "初始提交"-a
  4. 使裸仓库成为当前文件夹的远程来源 git remote add origin ssh://${USER}@${REMOTEIP}${PROJECT}.git
  5. push to master git push origin master
  6. 删除“项目”目录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

但是,这仍然是解决此问题的正确方法吗?

最佳答案

您的流程基本不错,但有点过于复杂。你不需要NAS 上的非裸存储库,因此您的工作流程应该是

  1. 在 NAS 上创建一个裸仓库:cd ${PROJECT}.git; git init --bare.
  2. 在另一台机器上克隆 ${PROJECT}.git 存储库。这会将 Remote 添加到非裸仓库中。
  3. 除了克隆,您还可以在另一台机器上创建一个空的非裸仓库并添加远程:cd ${PROJECT};混帐初始化; git remote add origin ssh://${USER}@${HOSTIP}${PROJECT}.git.
  4. 在另一台机器上的克隆非裸仓库中进行初始提交:git add。 ; git commit -m "初始提交"-a.
  5. 将 master 从另一台机器推送到 NAS 上的裸仓库:git push origin master

关于git - 如何正确初始化远程 git 仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53977052/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com