我想尝试一个包括 git-flow 和三个“点”或用例、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 flow
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 clone
命令看起来就像在开发机器上使用的那样。