-2

I have a project which is managed myself. And I want to use git to manage it.

And the project is located at: /home/maven/workspace/tmkproject(this is my current working directory). And I am using the Eclipse IDE.

I do not prefer to use the git init under my working directory to create the repository .

I want to create the repository at a certain location like /home/maven/gitrepo.

Then I pull the project to my directory.

So in my situation, how to make it?

Because the project may be worked with more people in my team.

4

3 回答 3

4

如果我理解正确,您希望多个人使用 git 处理一个项目。您的想法是将存储库放入/home/maven/gitrepo并让每个人直接使用该存储库。您可以使用GIT_DIR环境变量执行此操作,这不是使用 git 的好方法。

相反,/home/maven/gitrepo应该包含一个存储库,并且每个人都应该有这个存储库的克隆。然后他们可以正常推拉。

首先,首先将所有内容转储到 git 中。确保所有临时文件和构建文件都不碍事,或者写一个 .gitignore 文件让 git 忽略它们。

cd /home/maven/workspace/tmkproject
git init
git add .
git commit -a

现在您已经有了一个 git 存储库,/home/maven/workspace/tmkproject/.git您需要将副本复制到/home/maven/gitrepo.

cd /home/maven/gitrepo
git clone --bare /home/maven/workspace/tmkproject

这将使/home/maven/gitrepo/tmkproject.git其中包含您的.git目录的内容。

下一步是设置/home/maven/workspace/tmkproject用作/home/maven/gitrepo/tmkproject.git推送和拉取的远程存储库。

cd /home/maven/workspace/tmkproject
git remote add origin /home/maven/gitrepo/tmkproject.git
git fetch origin

现在您可以从该中央存储库推送和拉取。

git push -u origin master    # send changes and set up the branch default
git push                     # now it will use the default
git pull                     # get new changes

其他人可以克隆他们自己的副本以进行开发和推拉。

cd ~user/devel
git clone /home/maven/gitrepo/tmkproject.git

您会注意到设置起来需要一些工作,最终您将需要远程访问。使用现有的 git 服务之一通常更容易,例如 Github、Bitbucket、Gitorious 或 Gitlab。

于 2013-04-24T01:45:23.327 回答
1

免责声明:如果您是在项目根目录中使用Git 和/或 Linux 命令行工具的初学者,它会让您的事情变得更容易。git init

此外,它只会.git在您的根级工作副本的根目录创建一个目录,因此它不会太侵入。

如果您确实想将工作副本与本地计算机上的存储库备份分开,请创建两个存储库并将工作副本推送到“备份存储库”。


Git 支持GIT_DIR环境变量,可用于覆盖.git目录的默认位置。您可以将其设置为/home/maven/workspace/tmkproject并键入git init. 确保始终正确设置此变量,并在对应于不同存储库的两个 Git 工作副本之间切换时更改它。

有关更多信息,请参阅man git(1)

于 2013-04-24T01:24:34.717 回答
1

不错,好图 那是主叉风格。

你有你的主人(可能/home/maven/workspace/tmkprojec)。

您和您的成员可以git clone /home/maven/workspace/tmkprojec /path/to/saved/repo通过文件系统...

现在,我不知道您如何将计算机设置为 git 服务器,我建议不要这样做。如果您不在同一个网络上或没有 NFS(网络文件系统)设置,则需要 SSH 或服务器公开。

Github / Bitbucket 应该可以解决您的问题。

最佳实践如下,使用 Bitbucket:

  1. 你被称为 Scrum 大师。您在 Bitbucket 上创建一个团队帐户,将您的成员添加到团队帐户。

  2. 您将现有的主存储库推送到 Bitbucket

  3. 您和您的成员将从 Bitbucket 上的存储库中分叉

  4. 您和您的成员将把来自 Bitbucket 的 repo 克隆到您的本地机器上

  5. 您和您的成员将在 Bitbucket 上将更改推送到您自己的分叉 rpeo

  6. 当你完成一个特性/认为是时候交换代码时,你可以向 master 提交一个 Pull 请求。

  7. 您和您的团队成员将轮流进行代码审查并合并源代码。

我说 Bitbucket 的唯一原因是它有免费的私有存储库。否则,您可以使用 Github。没关系。

于 2013-04-24T01:44:17.383 回答