#Y cuál es la diferencia con "git"?

1 messages · Page 1 of 1 (latest)

prisma agate
#

En vez de haber commits, hay "cambios". Los cambios son basicamente commits que se van sobreescribiendo con cada cosa que hagas

#

Por eso no necesitas hacer git add aca, ya lo hace automaticmaente

#

Cuando acabes con tus cambios actuales haces jj new para crear otro cambio

#

No necesitas ponerle descripcion a los cambios como a los commits

#

Puedes crear cambios (o commits) a partir de cualquier otro cambio, si haces esto se crean diferentes ramas

#

Puedes editar muy facil la descripcion de varios commits de una vez.

#

Si tienes conflictos, puedes seguir trabajando normal, usar rebase y squash cuando quieras y los conflictos se van a solucionar en los cambios subsecuentes

vital hazel
#

Y para subir esos cambios a un repo?

prisma agate
#

usas jj git push

#

puedes hacer push de un cambio o de un bookmark

vital hazel
#

un bookmark es una lista de cambios?

prisma agate
#

un bookmark es basicamente un nombre que le pones a un cmabio, como una rama

vital hazel
#

Sería como stagear varios commits?

prisma agate
#

no es solo ponerle un nombre a un cambio

#

lo que pasa es que como todos los cambios estan relacionados como si fueran una linkedlist, si haces push de un cambio, tambien envias los cambios anteriores

#

los bookmarks son mas que nada para facilitar moverte de un cambio a otro y hacer push a cambios con un nombre especifico

#

en este articulo hay ejemplos especificos https://kubamartin.com/posts/introduction-to-the-jujutsu-vcs/

Kuba Martin

Jujutsu (jj), a new version control system written in Rust, has popped up on my radar a few times over the past year. Looked interesting based on a cursory look, but being actually pretty satisfied with Git, and not having major problems with it, I haven’t checked it out.
That is, until last week, when I finally decided to give it a go! I dive...

#

no tieens que leerlo todo, puedes ver los videos

#

ahi aprendi que tambien puedes crear un cambio en un punto del historial pasado, donde se te de la gana

#

y ese cambio va a afectar a los mas recientes

#

de esa forma puedes trabajar como si tuvieras varias ramas (o bookmarks en jujutsu), cada una dependiendo de la anterior, y puedes añadir un cambio a una de esas ramas y el cambio va a afectar a las demas

vital hazel
#

Se me hace más complejo que git, la vrd

prisma agate
#

a mi se me hizo complejo del mismo modo que vim se me hizo complejo, solo porque es una forma de trabajar y de pensar distinta

#

pero en la practica uso menos comandos

#

asi que por ahora voy a seguir usando jujutsu para proyectos personales a ver qeu tal va

vital hazel
#

Yo prácticamente no uso comandos, me he acostumbrado al source control de vsc

prisma agate
#

ah y tambien tienes jj undo, para deshacer la ultima operacion

vital hazel
#

Aunque quizás si deba acostumbrarme a los comandos porque me quiero pasar a neovim en linux o a la suite de Jetbrains aprovechando el correo de la u

prisma agate
#

mil veces mas sencillo que usar reset en git

vital hazel
prisma agate
#

diria que si, pero mucho mas simplificado

#

si por ejemplo haces un cambio y te arrepientes, solo usas jj undo y te deshace eso

#

si haces rebase y te genera conflictos o lo que sea, tambein jj undo y listo

#

con jj op log ves todas las operaciones

#

y puedes hacer undo de la que quieras

marble gyro
#

Se ve chido el jujutsu

prisma agate
#

puedes hacer tambein jj abandon para borrar commits

#

y con jj squash mezclas dos commits en uno solo

#

o mas si quieres

#

tecnicamente jj abandon tambein seria un git reset ahora que lo pienso

#

pero mas enfocado en borrar commits

#

no en deshacer operacioens

vital hazel
#

Pero debes especificarle el commit id?

prisma agate
#

si pero aca es mas facil porque cada cambio (o commit) tiene el mismo ID que git, pero a cambio tiene otro ID

#

dejame mostrarte

#

ahi ves que hay como unas letras que estan resaltadas

#

puedes esos son los ID de los cambios

#

puedes solo usar la parte que esta resaltada

vital hazel
#

de un solo caracter?

prisma agate
#

si, o dos, dependiendo

#

lo mismo con las operaciones creo

#

dejame ver

vital hazel
#

resaltado en azul o morado

prisma agate
#

no las operaciones si son como los hash de los commits normal

prisma agate
#

tambien puedes usar eso para decidir desde donde vas a crear un nuevo cambio

#

por ejemplo en esa imagen hay dos, que vienen del mismo padre, el que esta resaltado con l y el de la x

vital hazel
#

Para crear una rama como sería? La documentación me mareo un poco xd

prisma agate
#

yo ahora estoy en el de la l, si quiero crear un nuevo cambio a partir del de la x solo hago jj new x

prisma agate
#

es eso

#

una rama no es mas que un cambio que proviene de otro cambio

#

si tienes dos cambios que provienen del mismo cambio o del mismo padre, hay dos ramas

#

y asi suscesivamente

vital hazel
#

Y para meter varios cambios en una rama?

prisma agate
#

solo sigue haciendo cambios cuyo padre sea el anterior

#

para tener un historial lineal

#

jj new ya hace eso automaticamente

#

dejame ver

vital hazel
#

jj new x genera y
para generar otro
jj new y?

#

Y para pushear esa "rama"?

prisma agate
#

ahi agregue dos neuvos cambios

#

uno en cada rama

prisma agate
#

automaticamente se crean los IDs y los cambios que se generan tienen de padre, el cambio anterior

#

eso es automatico

#

si haces jj new x ahi te crear el cambio como hijo de x

vital hazel
prisma agate
#

las bookmarks solo son nombres que les pones a los cambios

#

para poder referenciarlos mas facil

#

si haces un bookmark, en vez de hacer jj new x puedes hacer jj new main por ejemplo

#

tambein ayuda a la hora de hacer push, puedes nombrar los bookmarks que quieres enviar

vital hazel
#

confuso, tendría que ver un vídeo o algo comparandolo con git

prisma agate
#

hay uno de un tipo que hacia una demo mostrarndo lo basico

prisma agate
vital hazel