我想尝试一个包括git流程和三个“点”或用例的答案,git中央存储库,本地开发和生产机。这一点没有经过很好的测试。
我给出了非常具体的命令。而不是<your folder>,我将写入/root/git.我更改原始命令的唯一地方是用example.com替换我的特定服务器名。我将解释文件夹的用途,以便您可以相应地调整它。请让我知道任何困惑,我会更新答案。
服务器端的git版本为1.7.1。服务器为CentOS 6.3 (Final)。
开发机上的git版本为1.8.1.1。这是Mac OS X 10.8.4。
中央存储库和生产机器在同一台机器上。
SVN用户可以将中央存储库关联为“服务器”,配置如下。我有一个文件夹/root/git,我保存所有的git存储库。我想为一个项目创建一个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流
git flow init -d
默认情况下,这是在分支develop上。现在我在这里添加代码。然后我需要提交到中央git存储库。
git add .
git commit -am 'initial'
git push
在这一点上,它被推送到开发分支。我还想把这个添加到主分支。
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克隆命令将与开发机器上使用的命令类似。