Git - 从现有项目设置远程存储库,并有可能进一步推动

Posted

技术标签:

【中文标题】Git - 从现有项目设置远程存储库,并有可能进一步推动【英文标题】:Git - setting remote repository from existing project with possibility to push further 【发布时间】:2012-12-07 15:22:40 【问题描述】:

在我的新项目中,我和我的团队将使用 Git。我们希望拥有自己的远程存储库。形成这个远程存储库,我们将进一步推送代码(我们不是在这个项目中工作的唯一团队,该项目已经存在并且存在 git 存储库)。不幸的是,我们对 git 并不熟悉。我可以将已经存在的存储库克隆到远程位置。之后,团队的其他成员将从远程位置复制到他们自己的计算机上。问题是远程存储库应该是“裸露的”(我不确定 jet 是什么意思)以允许推送到自身。根据这里的最佳答案:

Git push error '[remote rejected] master -> master (branch is currently checked out)'

我必须“(...)删除该文件夹中除 .git 之外的所有文件。”我不想丢失任何数据,该项目已经存在。此外,我不确定它将如何进一步推动更改。

在同一主题中有一个不错的第二个答案,我可以通过以下方式使用它:在远程存储库上创建额外的分支,但我不喜欢创建额外不必要的存在(新分支)的想法。

应该如何设置所有这些存储库?我会很感激对解决方案的任何解释 - 正如我在开始时所写的那样 - 我对 git 并不熟悉。

【问题讨论】:

【参考方案1】:

第一个问题是您为什么要为您的团队建立一个自己的存储库。我猜想“所有人”的存储库是用于实时部署的存储库。所以对你来说最简单的方法是使用这个 repo 并从中提取。为您的团队创建一个新分支,例如dev 并且您可以创建更多分支来开发项目的某些部分。 例如,如果您的团队中的某个人必须开发留言簿,他会检查您为团队创建的 dev 分支。之后,他将创建一个名为“guestbook”的新分支,例如他必须检查分支并开始开发应用程序。如果它完成了,您将分支“留言簿”合并到您的“开发”分支中以查看结果。 如果您的 dev 分支运行良好,您可以将其合并到主存储库的 masterbranch 中以启用该功能。

如果您真的想在不同的服务器上拥有自己的存储库,您可以简单地使用 git init --bare 创建一个新的 git 存储库。将项目克隆或更新(获取/拉取)到您的本地计算机。将 .git/config 文件中的远程源更改为您的新服务器并将您的项目推送到那里。

希望它有所帮助 - 但如果我是你,我会坚持在树枝上。有一天,您可能希望将团队的工作放回原始项目,如果您在同一项目的单独存储库上开发,您将有更多的工作来完成。

【讨论】:

以上是关于Git - 从现有项目设置远程存储库,并有可能进一步推动的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse,Git 拉到现有存储库,新项目在哪里

如何在 Git 中创建新的本地分支?

在项目 GIT 存储库下添加 RestKit

用于推送现有项目的Egit插件配置

如何创建现有项目文件夹,SVN存储库并将其推送到远程仓库

在远程 OS X 服务器上创建一个新的 git 存储库