使用git分享我当前的项目

时间:2013-04-24 01:02:25

标签: git

我有一个自己管理的项目。我想用git来管理它。

该项目位于:/home/maven/workspace/tmkproject(这是我当前的工作目录)。我正在使用Eclipse IDE。

我不想使用工作目录下的git init来创建存储库。

我想在/home/maven/gitrepo等特定位置创建存储库。

然后我将项目拉到我的目录。

所以在我的情况下,如何制作它?

因为该项目可能与我团队中的更多人一起工作。

3 个答案:

答案 0 :(得分: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

现在您在/home/maven/workspace/tmkproject/.git中有一个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

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

答案 1 :(得分:1)

免责声明:如果您是Git和/或Linux命令行工具的初学者在项目根目录中使用git init,它将使您更轻松

此外,它只会在根级工作副本的根目录下创建一个.git目录,因此不会过于干扰。

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


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

有关详细信息,请参阅man git(1)

答案 2 :(得分:1)

好的,好的照片。这是主叉式的。

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

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

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

Github / Bitbucket应该解决你的问题。

最佳做法如下,使用Bitbucket:

  1. 你被称为scrum master。您在Bitbucket上创建了一个团队帐户,将您的成员添加到团队帐户中。

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

  3. 您和您的成员将从Bitbucket上的回购邮件中分发

  4. 您和您的memebrs将把Bitbucket的回购克隆到您当地的机器上

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

  6. 当您完成功能/认为是时候交换代码时,您可以向主服务器提交Pull请求。

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

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