Итак, я начал использовать Git несколько дней назад. ( Очень поздно на вечеринку - не ругайте :) ). Действительно начинаю освоиться с основными командами, идеями и рабочими процессами. Тем не менее, субмодули действительно берут мой мозг на прокат. Я пытаюсь внести код в FuelPHP GitHub , и я мог бы использовать некоторые рекомендации и советы.
Я выполняю следующие команды в терминале:
//1: clone the repository from Fuel's github.
git clone git://github.com/fuel/fuel.git
//2: move into the main fuel directory
cd fuel
//3: initilize the submodules (populate .git/config with submodule data)
git submodule init
//4: download the submodules...
git submodule update
//5: move into the core directory (which is a submodule).
cd fuel/core
//6: change branch from (*no branch) to 1.1/develop
git checkout 1.1/develop
//7: open random file in text editor + make some small change (i.e. typo) + save file.
sudo gedit classes/autoloader.php
//8: add this file to the staging area.
git add classes/autoloader.php
//9: commit this file under 1.1develop branch.
git commit -m "im committing a submodule"
//10: push the new commit to MY (not fuel's) github repo (yes i've renamed the repo).
git push git@github.com:jordanarseno/fuel-core.git
//11: changes are reflected on github, looks good.
//12: back way out to fuel again. time to push the submodule commit separately.
cd ../../
//13: add the fuel/core submodule to the staging area.
git add fuel/core
//14: commit the submodule change.
git commit -m "submodule pushed. pushing super now."
//15: push the commit to MY (not fuel's) github repo.
git push git@github.com:jordanarseno/fuel.git
В частности, мои вопросы:
- Это правильный рабочий процесс для работы с подмодулями? Это то, что вы будете делать?
- Почему git опускает ветку
1.1/develop
в подмодуле, но по умолчанию устанавливает меня на *no branch
? Могу ли я изменить это поведение?
- Какая часть подмодуля Fuel говорит git тянуть 1.1 / development для начала? Там есть другие ветви (
1.1/master
, 1.0/develop
и т. Д.).
- Почему мы не можем назвать это днем на шаге 11? Субмодульный пуш работал нормально. Потом я толкаю супер, потому что руководство говорит мне, что это хорошая идея . И действительно, отправляясь на GitHub и глядя на мой супер, коммит сделан. Этот коммит 845de87 , тем не менее, похоже, является ссылкой на супер топливо, а не МОЕ супер. Разве это не ссылка на МОЕ РЕПО, а не на их?
- Запуск
cat .git/config
в супер шоу:
Вместе со всеми подмодулями ...
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/fuel/fuel.git`
Запуск cat .git config
в основном подмодуле показывает:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/fuel/core.git
Было бы разумно изменить эти URL-адреса на МОЕ собственное репо на GitHub? Топливо в любом случае отрицает толчки. Если я выполню обновление субмодуля, они будут перезаписаны?
Я также спрашивал об этом на Топливных форумах , но это более общий вопрос, и здесь есть больше Гиттеров ... СПАСИБО!