Forum: Rails-ES 3 dudas sobre git (novato)

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
8fb6ac86e688c77f6a7275726d5ae3b8?d=identicon&s=25 Sergio Rus (tiroxino)
on 2009-03-17 18:01
Hola,

Estoy empezando con git y tengo tres dudas que no consigo solventar por
mi cuenta.

Mi situación es esta:

- inicialmente tengo un proyecto en el PC de casa controlado con git.
- hago un "git clone" desde el portátil para copiar el proyecto del PC.
- trabajo con el proyecto en el portátil, haciendo commits y más tarde
decido pasar los cambios al proyecto del PC.

Dudas:
1) git push:
he probado haciendo desde el portátil un git push contra el proyecto del
PC. El problema es que después de hacerlo, si hago un git status en el
proyecto del PC aparece que los archivos del proyecto han quedado
desactualizados. ¿por qué no se actualiza el proyecto del PC con los
cambios introducidos en el proyecto del portátil?

2) git pull:
he probado a hacer un git pull desde el PC contra el proyecto del
portátil y todo va bien. El inconveniente que veo con git pull es que
necesito entrar en la máquina remota desde donde quiero traer los
cambios, y esto no siempre es posible si quisiera trabajar desde un
ordenador desconocido (público, por ejemplo). Tendría que tener
instalado un servidor ssh...

y la última duda:
3) Una vez hecho un pull o push sobre un proyecto, ¿cómo puedo volver a
versiones anteriores?

Gracias! Si pueden recomendarme algún tutorial, se lo agradecería mucho.
Adce10d7f1dbabcdab8f525a59cec32f?d=identicon&s=25 Andrés Gutiérrez (andresgutgon)
on 2009-03-17 18:50
(Received via mailing list)
No sé si tendrás tu proyecto gestionado con Github [1] pero en esta
página
hay buena documentación de Git.

[1] http://github.com/


El 17 de marzo de 2009 18:01, Sergio Rus
<ruby-forum-incoming@andreas-s.net>escribió:
49b6123803e4f327144e991daab62f77?d=identicon&s=25 Daniel Rodriguez Troitiño (Guest)
on 2009-03-17 23:16
(Received via mailing list)
2009/3/17 Sergio Rus <ruby-forum-incoming@andreas-s.net>:
> decido pasar los cambios al proyecto del PC.
>
> Dudas:
> 1) git push:
> he probado haciendo desde el portátil un git push contra el proyecto del
> PC. El problema es que después de hacerlo, si hago un git status en el
> proyecto del PC aparece que los archivos del proyecto han quedado
> desactualizados. ¿por qué no se actualiza el proyecto del PC con los
> cambios introducidos en el proyecto del portátil?

Por lo que he podido comprobar no es recomendable utilizar un
repositorio como "repositorio central" y como "copia de trabajo". De
hecho al hacer lo que tu propones Git me mostraba un aviso:

warning: updating the currently checked out branch; this may cause
confusion,
as the index and working tree do not reflect changes that are now in
HEAD.

Para Git, en el otro repositorio se habían producirdo cambios desde el
HEAD. Para arreglarlos hay que hacer un "git reset HEAD" seguido de un
"git checkout '*'" (hay comillas alrededor de ese asterísco).

> 2) git pull:
> he probado a hacer un git pull desde el PC contra el proyecto del
> portátil y todo va bien. El inconveniente que veo con git pull es que
> necesito entrar en la máquina remota desde donde quiero traer los
> cambios, y esto no siempre es posible si quisiera trabajar desde un
> ordenador desconocido (público, por ejemplo). Tendría que tener
> instalado un servidor ssh...

Esta es la forma de trabajar, tu tienes tu repositorio personal y te
descargas los cambios de los demás (con un fetch o con un pull en una
rama aparte), los compruebas y lo aplicas a tu rama, si procede.

Si quieres tener el funcionamiento similar a un Subversion lo mejor
sería tener un repositorio "central" separado sería mejor que hicieras
un clón "bare" y hicieras push y pull de ese repositorio central.

> y la última duda:
> 3) Una vez hecho un pull o push sobre un proyecto, ¿cómo puedo volver a
> versiones anteriores?

El mecanísmo general es "git checkout <ref>" donde <ref> puede ser
parte del SHA de un commit, una referencia como HEAD^^, un tag,...
pero lo mejor sería crear una nueva rama para "volver atrás", por que
si no te quedas en un estado en el cuál no estás trabajando sobre una
rama y puedes perder commits.

Por cierto, no es por molestar, y seguro que si nos salimos de tema
Manuel dirá algo, pero ¿no hay una lista de Git en español? Porque
esta pregunta es mucho más de Git que de Rails.
F625b891618be8ec32547a07b3192bb0?d=identicon&s=25 Francesc Esplugas (fesplugas)
on 2009-03-17 23:20
(Received via mailing list)
2009/3/17 Daniel Rodriguez Troitiño <notzcoolx@yahoo.es>:

> Para Git, en el otro repositorio se habían producirdo cambios desde el
> HEAD. Para arreglarlos hay que hacer un "git reset HEAD" seguido de un
> "git checkout '*'" (hay comillas alrededor de ese asterísco).

En vez de `git checkout '*'` you hago `git checkout .` que es lo mismo
pero con menos keystrokes.

Creo que deberiamos ir cerrando el off-topic.
5c15703984caa012845b3cea129da936?d=identicon&s=25 Manuel González Noriega (Guest)
on 2009-03-17 23:29
(Received via mailing list)
2009/3/17 Daniel Rodriguez Troitiño <notzcoolx@yahoo.es>

>
> Por cierto, no es por molestar, y seguro que si nos salimos de tema
> Manuel dirá algo, pero ¿no hay una lista de Git en español? Porque
> esta pregunta es mucho más de Git que de Rails.
>

Estoy aplicando la regla del short'n'sweet ;)

Os recuerdo que existe la lista hacking-es para este tipo de
generalidades.
Es silenciosa, pero las consultas suelen tener respuesta:

http://lists.simplelogica.net/pipermail/hacking-es/
8fb6ac86e688c77f6a7275726d5ae3b8?d=identicon&s=25 Sergio Rus (tiroxino)
on 2009-03-18 00:11
Manuel González Noriega wrote:
> 2009/3/17 Daniel Rodriguez Troitiño <notzcoolx@yahoo.es>
>
>>
>> Por cierto, no es por molestar, y seguro que si nos salimos de tema
>> Manuel dirá algo, pero ¿no hay una lista de Git en español? Porque
>> esta pregunta es mucho más de Git que de Rails.
>>
>
> Estoy aplicando la regla del short'n'sweet ;)
>
> Os recuerdo que existe la lista hacking-es para este tipo de
> generalidades.
> Es silenciosa, pero las consultas suelen tener respuesta:
>
> http://lists.simplelogica.net/pipermail/hacking-es/


Gracias a todos. Me queda mucho por aprender en git. Sé que no era la
lista más apropiada, pero no encontraba una lista sobre git. Me apuntaré
a hacking-es, si es que no hay una lista de git.
Adce10d7f1dbabcdab8f525a59cec32f?d=identicon&s=25 Andrés Gutiérrez (andresgutgon)
on 2009-03-18 09:46
(Received via mailing list)
si es que no hay una lista de git.

Seguro que si la hay. De todas formas apuntate a Hacking-es. Que hay
buena
gente...más o menos los mismos que en esta ya que aquella nació de esta

Un saludo

El 18 de marzo de 2009 0:11, Sergio Rus
<ruby-forum-incoming@andreas-s.net>escribió:
This topic is locked and can not be replied to.