Я хочу спробувати відповідь, що включає в себе 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
команда виглядала б як та, яка використовується на розроблювальній машині.
git clone --bare
буде робити те, що ви думаєте, що це зробить.