Git solo se compromete conmigo

Me preguntaba, ¿hay alguna opción en Git para que pueda enviar mis cambios para que pueda seguir trabajando en mi otra PC / laptop sin que nadie más pueda sacarla?

Por ejemplo, estoy trabajando en una function en una de las sucursales (tenga en count que no quiero crear una nueva twig), en mi PC de escritorio y ya que no terminé y tengo que ir a un lugar para una Un par de días, quiero seguir trabajando en mi computadora portátil, pero no quiero que otros puedan extraer, ya que no está terminado, puede causar un comportamiento no deseado.

Entonces, básicamente, comprometerme solo y luego, cuando termine, puedo presionar a todos los demás en el proyecto.

pero no quiero que otros sean capaces de tirar, ya que no está terminado, puede causar un comportamiento no deseado.

El proyecto es de otra manera público, ¿no? Entonces, las confirmaciones estarán visibles de todos modos cuando publiques la próxima versión, ¿no es así? Entonces no pueden contener nada ilegal o problemático, ¿verdad? Lo único que pueden es romper el estado …

Por lo tanto, si alguien quiere pegarse un tiro en el pie al extraer explícitamente el código de una twig llamada for-test o experiment , es su problema, no el tuyo.

Por lo tanto, empuje a una twig . Llámalo test (o for-test o experiment o algo por el estilo, pero nada especial, por favor ). Y me refiero a esas sugerencias muy literalmente; ¡las twigs solo existirán hasta que pruebes en la otra máquina!

Empujar a tal twig es trivial:

 git push origin HEAD:test 

Luego, en la otra máquina, simplemente tira de ella:

 git pull origin test 

y probarlo y arreglarlo. Y cuando haya terminado y lo fusione con el objective real, simplemente elimine la twig de testing nuevamente :

 git branch -d test 

se deshace de la sucursal local, y

 git push -d origin test 

se deshace de la de github.

Sí, también puede configurar el control remoto para enviar directamente desde una computadora a la otra. Pero eso requiere que ambos estén funcionando y en la misma networking y que tengan connection ssh o algo. Y luego querrá pedirle a otra persona que también lo pruebe y, de todos modos, necesitará la twig de test .

Entonces haz una twig de test ; las twigs son baratas.

Esta es una gran diferencia en comparación con los sistemas tradicionales de control de versiones centralizadas donde los commits pertenecían a las sucursales. Allí tenías que pensar cuidadosamente antes de crear uno, porque estaban allí para quedarse para siempre. Pero en los sistemas distribuidos, las twigs son simplemente tags para revisiones que se pueden agregar fácilmente a las revisiones ya existentes y se borran fácilmente cuando ya no se necesitan. Una vez que te hayas acostumbrado, encontrarás que las twigs son mucho más útiles en git y otros sistemas distribuidos que en los sistemas anteriores.