我正在(在个人本地服务器上)创建一个git我将在其中上传所有项目的服务器。结构如下:
myprojects
dir_project1
dir_project2
....
现在我想知道,如何上传该文件夹中的所有项目?然后,对于我要创建的每个项目,我必须登录服务器,创建项目文件夹,键入git init --bare
,然后(从我的电脑)上传。有没有一种方法可以让我git push
直接执行此操作,而无需进入服务器并创建(每次)我将执行的每个项目的文件夹(并启动命令git init --bare
)?
谢谢
答案1
我认为您需要使用该git clone <dir_project1>
命令首先克隆主项目,然后使用该命令git checkout -b <new_branch_name>
创建一个新分支,并在选择该分支的情况下处理克隆的项目文件。
要检查选择的分支,请运行git checkout
这将列出所有可用的分支(星号将指示您当前正在哪个分支工作)
一旦签出新分支,您就可以开始对项目目录进行更改。现在完成的所有更改都是通过您刚刚创建的分支完成的。这样,在您经过测试并且 100% 肯定您想要将更改提交/合并到 master 分支之前,您不会修改 master 分支。 (我们将在最后讨论这部分)
一旦您以某种方式修改了目录(添加文件或修改现有文件/目录),请使用该git add <insert_file_here.txt>
命令让 git 知道您已对此文件进行了更改。
接下来,您应该提交更改以将它们永久保存到该分支。通常在第一次提交之前,您将使用git config
包含您的用户名或电子邮件的内容来指示谁在进行这些更改。
前任:git config --global user.email EMAIL
git config --global user.name “FULL NAME"
但在这种情况下,由于它都是本地的,而且您似乎是唯一处理这些文件的人,因此您可以跳过此步骤并进行第一次本地提交:
git commit -m“project.txt 文件的初稿”
(-m 用于描述您所做的更改,如果您运行,这些更改将会显示git diff <filename>
)
现在,您可以简单地使用该命令,而不是使用推/拉(主要用于远程存储库)进行本地 git 配置git merge
。
在尝试合并之前,您必须首先签出 master 分支,因为您无法在克隆存储库中合并 master 分支。
git checkout master
git merge dir_project1
如果您愿意这样做,我可以找到一种推送到本地分支的方法:
git push . dir_project1:master