【问题标题】:How to add exsiting project to git bare repository?如何将现有项目添加到 git 裸存储库?
【发布时间】:2012-11-27 19:52:48
【问题描述】:

我正在尝试设置 git 以进行自动部署。这就是我正在做的事情..

  1. 我在 xyz.com 上托管的存储服务器上创建了一个空的裸存储库。
  2. 然后在 Eclipse 中使用 EGit 我克隆了新创建的裸存储库。
  3. 在我的本地机器上,我有一个 php 项目。
  4. 现在我想创建 3 个分支开发、暂存、生产,并希望将我的项目添加到开发分支。

也许我做错了什么或错过了一些设置。谁能指导我设置 git 吗?

所有帮助将不胜感激。

【问题讨论】:

  • 这个问题解决了吗?

标签: php eclipse git deployment continuous-deployment


【解决方案1】:

我不确定你对 git 命令行是否满意,但既然我就是这样使用它的,那就这样吧:

  1. 不要克隆您的远程仓库,而是转到您的代码文件夹并创建一个新的本地仓库

    git init

  2. 向您的本地主分支提交一些内容以正确初始化它

    echo "first commit" > README.txt
    git add README.txt
    git commit -m "first commit"

  3. 现在您可以创建三个分支

    git branch development
    git branch staging
    git branch production

  4. 切换到开发分支,添加所有代码

    git checkout development
    git add .
    git commit -m "code commit"

  5. 最后,添加您的远程存储库并推送您的分支

    git remote add origin <url_to_your_remote_repo>
    git push -u origin --all

【讨论】:

  • 我的理解是我应该向裸存储库添加 3 个不同的分支。因此,让我们举一个我现在创建 3 的例子。开发,分期,生产。现在我将裸存储库克隆到我的本地计算机。现在我应该将我的项目添加到 3 个分支还是将项目添加到开发分支并将开发分支合并到暂存和生产?
  • @SangamAngre 您应该将代码提交到其中一个分支并合并到另一个分支,或者您可以从第一个分支创建其他分支。因此,您只需创建一个 dev 分支,提交您的代码,然后创建另外两个分支
  • 哦。我一定会尝试你的方式,很快就会回复你。感谢您的帮助
【解决方案2】:

要创建 3 个分支,您可以从 git 命令行执行以下操作(使用您喜欢的任何名称):

git checkout -b prod
git checkout -b stage
git checkout -b dev

要将您的项目添加到 dev 分支,请将您的项目文件复制到文件系统上的 git 工作目录中 - 这将是包含“.git”目录的目录(即不是“.git”目录本身)。

然后从命令行运行:

git status

这应该会为您提供您复制的文件的列表 - 它们将位于标题“未跟踪的文件:”下。

现在运行以下命令将它们添加到 dev 分支(用适当的提交消息替换“MyCommitMessage”):

git add .
git commit -m "MyCommitMessage"

此时可以使用

git push --all

将远程裸存储库与本地存储库同步。

【讨论】:

  • 我的理解是我应该向裸存储库添加 3 个不同的分支。因此,让我们举一个我现在创建 3 的例子。开发,分期,生产。现在我将裸存储库克隆到我的本地计算机。现在我应该将我的项目添加到 3 个分支还是将项目添加到开发分支并将开发分支合并到暂存和生产?
  • 使用 'git add .' 将项目文件添加到一个分支 (dev)和 'git commit -m "MyCommitMessage"' 命令,然后合并到其他命令。对于合并,使用如下命令: git checkout stage;混帐合并开发; git结帐产品; git合并阶段; (合并 dev->stage 和 stage->prod)。
  • 谢谢,会试试方法
【解决方案3】:

由于您已从托管存储库克隆,您应该配置一个名为“origin”的 git 'remote',它指的是您的托管存储库。

当您在本地分支(例如 master)上工作和提交时,您可以使用 `git push origin :' 将其推送到另一个存储库上的分支

git push origin master:development

这假设你有一个可用的 git 命令行客户端。你应该可以用你的图形客户端做同样的事情,主要概念是你将一个具有特定名称的分支推送到另一侧具有特定名称的分支。

【讨论】:

    猜你喜欢
    • 2017-12-20
    • 2015-06-06
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2014-03-14
    • 2011-10-23
    • 1970-01-01
    相关资源
    最近更新 更多