Así que comencé a usar Git hace unos días. (Muy tarde para la fiesta - no regañe :)). Realmente comenzando a sentirme cómodo con los comandos básicos, ideas y flujos de trabajo. Sin embargo, los submódulos realmente me llevan a mi cerebro a dar un paseo. Estoy intentando contribuir con el código FuelPHP 's GitHub y podría utilizar algunas pautas y consejos.Asesoramiento de flujo de trabajo del submódulo de Git
estoy ejecutando los siguientes comandos en el terminal:
//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 [email protected]: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 [email protected]:jordanarseno/fuel.git
Específicamente, mis preguntas son:
- Es este el flujo de trabajo adecuado para el uso de cartuchos? ¿Es lo que harías?
- ¿Por qué git pull down la rama
1.1/develop
en un submódulo pero me ha puesto sobre*no branch
por defecto? ¿Puedo modificar este comportamiento? - ¿Qué parte del submódulo de combustible le dice a Git para tirar 1.1/desarrollar en primer lugar? Hay otras ramas (
1.1/master
,1.0/develop
etc ..). - ¿Por qué no podemos llamarlo un día en el paso 11? El empuje del submódulo funcionó bien. Empujo el super después porque el manual tells me it's a good idea. Y, de hecho, dirigiéndome a GitHub y mirando a MI super, se hace un compromiso. This commit 845de87, sin embargo, parece ser solo una referencia al super de Fuel y no a MY super. ¿No debería vincularse a MI repositorio y no a los suyos?
- Correr
cat .git/config
en Super Shows:
Junto con todos los submódulos ...
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/fuel/fuel.git`
Correr cat .git config
en el sub-módulo central muestra:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git://github.com/fuel/core.git
¿Sería aconsejable cambiar estas URL a MI propio repositorio en GitHub? El combustible niega los empujes de todos modos. Si realizo una actualización de submódulo, ¿se sobrescribirán?
También he pedido esto en Fuel's Forums, pero es más una pregunta general y hay más Gitters aquí ... ¡GRACIAS!
gracias mucho! Excelente publicación en el otro hilo. re: 2; ¿Cómo se puede encontrar la confirmación específica a la que hace referencia el submódulo? Usted dijo "debe verificar una sucursal dentro de ese repositorio de submódulos", ¿debe ser una sucursal * existente *? Puedo crear el mío y trabajar desde allí, ¿sí? re: 3; ejecutar 'git branch' en un submódulo devuelve' * no branch' y otros. De dónde vienen estos "otros" es lo que me preguntaba. re: 4; ejecutar el segundo impulso de git debería haber logrado esto ... ¿estás diciendo que falló? re: 5; sí, esa fue la idea. tenedor, luego cambie las urls. ¿Sobreescribirá 'git submodule update'? –
@JordanArsenault: He editado mi respuesta para dirigir su comentario: http://stackoverflow.com/posts/9411932/revisions – VonC