#Y cuál es la diferencia con "git"?
1 messages · Page 1 of 1 (latest)
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
Y para subir esos cambios a un repo?
un bookmark es una lista de cambios?
un bookmark es basicamente un nombre que le pones a un cmabio, como una rama
Sería como stagear varios commits?
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/
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
Se me hace más complejo que git, la vrd
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
Yo prácticamente no uso comandos, me he acostumbrado al source control de vsc
ah y tambien tienes jj undo, para deshacer la ultima operacion
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
mil veces mas sencillo que usar reset en git
Es lo mismo que el reset head de git?
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
Se ve chido el jujutsu
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
Pero debes especificarle el commit id?
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
de un solo caracter?
resaltado en azul o morado
no las operaciones si son como los hash de los commits normal
si
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
Para crear una rama como sería? La documentación me mareo un poco xd
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
basicamente jj new [id]
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
Y para meter varios cambios en una rama?
solo sigue haciendo cambios cuyo padre sea el anterior
para tener un historial lineal
jj new ya hace eso automaticamente
dejame ver
no, solo jj new
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
Ando viendo
https://jj-vcs.github.io/jj/latest/github/ me mareó un poco lo del jj bookmark create
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
confuso, tendría que ver un vídeo o algo comparandolo con git
yo comparti mas videos en #📡╏comparte-links
hay uno de un tipo que hacia una demo mostrarndo lo basico
yo lo entendi mejor luego de seguir la guia de esa pagina
meh, tendría que leerlo mejor