Git GUI de mis sueños

Soy un desarrollador de juegos y aplicaciones móviles. He escrito bastante código en C ++ y Swift. Y, como muchos de ustedes, utilizo sistemas de control de versiones, en particular, gith.

Git tiene la interfaz de línea de comandos más funcional y decenas, si no cientos, de aplicaciones para trabajar con él localmente usando una interfaz gráfica, que pueden realizar solo una parte de la funcionalidad del git. El problema es que he estado escribiendo código durante 10 años, pero no he encontrado el cliente GUI de git perfecto (adecuado para mí). Ejemplo: Github Desktop salió recientemente. Lo usé hasta que necesité pagar para una confirmación específica. Y experimenté el dolor habitual de que esta aplicación no sepa cómo hacer esto. Y volví a la terminal nuevamente (con autocompletado para el git). Y hay tales cosas en cada aplicación GUI para el gita. Sin embargo, no vine aquí para criticarlos. Estoy seguro de que tú y sin mí tienes muchas quejas sobre estas aplicaciones. Pensé durante mucho tiempo en lo que debería ser una aplicación de GUI de git ideal. Eran fugaces retazos de deseoa partir del cual es difícil ensamblar algo completo. Y recientemente, estos fragmentos de pensamientos se han reunido en una sola imagen. A continuación, describiré esto en el formato de TOR (tarea técnica) en la forma más comprensible.

El cliente GUI perfecto de Git

Es importante que la interfaz no sea muy complicada. Si un usuario abre la aplicación y ve más de 20 botones, la idea apesta. La mayoría de los usuarios, que cambian a la consola para trabajar con git, escriben un comando git statuspara averiguar la lista de archivos con estado cambiado. Por lo tanto, nuestra aplicación debería mostrar casi toda la pantalla una lista de archivos en forma de jerarquía que tienen un estado cambiado (similar al explorador / buscador). Incluirá todo lo que podamos ver con el comandogit status: archivos modificados, archivos sin seguimiento, agregados y eliminados (tal vez olvidé algún estado). Cada archivo, como en la consola, debe mostrarse en rojo o verde, lo que indica que se ha agregado a la confirmación. Puede hacer clic derecho en cualquier archivo o hacer clic en los tres puntos en el lado derecho de la línea para abrir el menú contextual. En el menú contextual, puede agregar un archivo si no se agrega ( git addcomando en la terminal), restablecerlo si se agrega, eliminar si no está en el índice (limpiar). También puede hacer clic con el botón derecho en la carpeta y agregar la carpeta completa ( git add folder). Reset funciona de la misma manera. También puede agregar todo al índice con un pequeño botón en la esquina superior izquierda del árbol de archivos. Puede hacer clic en la línea con el archivo para abrir la diferencia en pantalla completa.

Xcode , (pulling, pushing, idle). . , - : .

- (git log - , git branch - , git commit - , git push - remote, git pull - remote, git remote - remote ..) tab ( GTA 5). 

. (, pull, push, fetch). , (, push) ( remote , force), . tab . esc, . push, . .

git GUI && ||. , , :

git checkout dev && git pull && git checkout - && git merge -

4 :

  1. dev

  2. dev

  3. , dev

  4. dev

&& , - , . , git GUI , ( , ). git GUI . 

, , , tab alt ( shift, ). , checkout, dev, ok , . - , tab alt, checkout ok, , , (tab - alt). - . tab ( esc ), , , . , Red Alert 2. z . , , .

, , (, ) . . ,

3a962a4a5979b338e4bfce1333b3009529c0ad08

d8def5c1b13a83a1df8797fab3d34760596df692

cffcf32979526f2e2d26c06fe0b73666a7ca0e87

2757ed191106b51b729c5437334d9d19b0d081b8

0fef00c89e8d60e41a452ffc31a8300b551116be

5e4fe2033549b89ef86834e2fcba350fa5099443

886602d02ec39f853c9b708957f27c3fbb51e66c

250ce1cd7b0b6ec415898e0a26cda49a2d326bd3

4a4a5e0f6257bb6c179981c4fb69011be7bbe53d

. . - . .

↕️ 3a962a4a5979b338e4bfce1333b3009529c0ad08

☘ d8def5c1b13a83a1df8797fab3d34760596df692 

◽️ cffcf32979526f2e2d26c06fe0b73666a7ca0e87

⛎ 2757ed191106b51b729c5437334d9d19b0d081b8

㊙️ 0fef00c89e8d60e41a452ffc31a8300b551116be

5️⃣ 5e4fe2033549b89ef86834e2fcba350fa5099443

⏹ 886602d02ec39f853c9b708957f27c3fbb51e66c

⏸ 250ce1cd7b0b6ec415898e0a26cda49a2d326bd3

↖️ 4a4a5e0f6257bb6c179981c4fb69011be7bbe53d

, . , ( pull’), , , , . - : github, bitbucket, teamcity. .

Es todo. Estaré encantado de recibir críticas y sugerencias en los comentarios. Responderé la pregunta de por qué estoy compartiendo la idea aquí, pero no comenzaré a implementarla yo mismo. Yo mismo me dedico al desarrollo de juegos, actualmente trabajo para Playtika, y en mi tiempo libre desarrollo una aplicación para trabajar con SQLite https://sqliteman.dev . Yo mismo comenzaría con mucho gusto a desarrollar este cliente GUI de git, pero no tengo tiempo. Seré muy feliz si alguien más lo hiciera, mientras que no me importa si alguien lo hace sin mencionar el origen de la idea. Estoy seguro de que la idea no vale nada frente a la implementación. Y estaré muy feliz si tengo la aplicación git GUI de mis sueños.




All Articles