我想尝试一个包含git-flow和三个“点”或用例,git中央存储库,本地开发和生产机器的答案。 这没有很好的测试。
我正在给出难以置信的特定命令。<your folder>
我不说,而是说/root/git
。我更改原始命令的唯一地方是用替换我的特定服务器名称example.com
。我将解释文件夹的用途,以便您可以相应地进行调整。请让我知道任何混乱,我将更新答案。
服务器上的git版本是1.7.1。服务器是CentOS 6.3(最终版)。
开发机器上的git版本是1.8.1.1。这是Mac OS X 10.8.4。
中央存储库和生产计算机位于同一台计算机上。
svn用户可以将其关联为“服务器”的中央存储库配置如下。我有一个文件夹/root/git
,其中存放所有的git存储库。我想为一个名为“ flowers”的项目创建一个git存储库。
cd /root/git
git clone --bare flowers flowers.git
git命令给出了两条消息:
Initialized empty Git repository in /root/git/flowers.git/
warning: You appear to have cloned an empty repository.
完全不用担心。
在开发机器上的配置如下。我有一个/home/kinjal/Sites
存放所有项目的文件夹。我现在想获取中央git存储库。
cd /home/kinjal/Sites
git clone root@example.net:/root/git/flowers.git
这使我可以开始向其中添加内容。我首先设置git flow
git flow init -d
默认情况下,它在分支上develop
。我现在在这里添加我的代码。然后,我需要提交到中央git存储库。
git add .
git commit -am 'initial'
git push
在这一点上,它推到了发展分支。我还要将此添加到master分支。
git flow release start v0.0.0 develop
git flow release finish v0.0.0
git push
请注意,在发布开始和发布完成之间我什么也没做。当我完成发行时,系统提示我编辑两个文件。这将开发分支推向了精通。
在生产站点(与中央git存储库位于同一台机器上)上,我要将存储库放在中/var/www/vhosts/example.net
。我已经有/var/www/vhosts
。
cd /var/www/vhosts
git clone file:///root/git/flowers.git example.net
如果生产机器也将在另一台机器上,则该git clone
命令看起来就像在开发机器上使用的命令一样。
git clone --bare
不会做您认为会做的事。