2008-10-30 19 views
5

Actualmente estoy usando Subversion como mi sistema de control de código fuente, principalmente porque encontré que ANkhSVN está bastante bien integrado en Visual Studio.¿Cómo se usa Source Control sin integración IDE?

Pero muchas personas parecen estar usando Git o Mercurial y otros con gran éxito.

Ahora, me pregunto cómo usar un sistema como Git sin algún tipo de integración IDE.

Ir a la línea de comando para hacer control de fuente me parece muy incómodo, demasiada molestia.

Actualización: esto ha causado bastante discusión.

Solo quería saber cómo es tu flujo de trabajo, sé cómo aprender y usar las herramientas de línea de comandos. Simplemente no se sentían cómodos debido a cosas como cambiar el nombre/agregar archivos. Me quedaré con AnkhSVN como mi cliente svn de elección dentro de Visual Studio y usaré TortoiseSVN para archivos fuera de VS. De todos modos, gracias por tus respuestas!

+0

Mi IDE es emacs o vim, según mi estado de ánimo. Emacs tiene una integración semi decente con git, pero vim no. El aspecto positivo, sin embargo, es que normalmente los ejecuto a los dos en una sesión terminal. – Flame

+0

@Flame Vim actualmente tiene soporte para Git, con complementos, por supuesto. El complemento ['vim-fugitive'] (https://github.com/tpope/vim-fugitive) es bastante bueno, al igual que [' Extradite'] (https://github.com/int3/vim-extradite) – Axel

Respuesta

9

Solo tengo una ventana de línea de comandos abierta en el directorio correspondiente. No es difícil cambiar entre ellos para hacer los comandos de git. Para ser sincero, como soy bastante nuevo en git, hay mucho más esfuerzo mental involucrado en verificar que estoy usando git correctamente que en el cambio de ventanas :)

Aunque aquí hay una dificultad (al menos para yo, usando Visual Studio): tanto git como Visual Studio quieren ser los únicos en renombrar. Prefiero dejar que git lo haga y luego agregar el archivo nuevamente como un elemento existente en Visual Studio, pero es molesto.

+0

Aprender los comandos no es tan difícil ... Simplemente parece completamente erróneo. Y especialmente debido a cambiar el nombre de los archivos, agregar nuevos, etc. Prefiero usar algo que se integre en el IDE y compruebe cosas así ... Ir al shell se siente ... restrictivo ... ¿cómo se diferencia ... etc. – Tigraine

+0

Aprender los comandos es la forma correcta de hacerlo, significa que no sabes exactamente qué está pasando. –

+0

Una respuesta de "usar la línea de comando" obtuvo la "respuesta correcta"?Eso es muy decepcionante :( –

4

He trabajado con sistemas de control de versiones sin ningún tipo de integración ide. Y sí, es un poco incómodo, especialmente si está acostumbrado a herramientas brillantes como la tortuga. Pero al final aún es posible hacer tu trabajo.

[viejo-geek-mode] Ya en los primeros días no teníamos IDE, solo un editor y un compilador de línea de comandos. Y de coures hacer ;-). [/ old-geek-mode]

+0

¿Tuviste un editor? ¡Tuve que escribir el programa en stdin sobre la marcha! –

+0

Hace mucho tiempo, tuve que arrancar mi sistema operativo desde un disquete de 5 1/4in o alternarlo usando los interruptores del panel frontal. :-) – tvanfosson

+0

Oye, mira por allí ... Un anciano está hablando ;-) –

1

La mayoría de los IDEs tienen la opción de llamar a la aplicación externa de esa manera puede seguir utilizando el sistema de control de fuente desde el IDE.

Además, la mayoría de los sistemas de control de versiones tienen algún tipo de sistema GUI que puede mantener abierto, esto también es lo que generalmente hago (utilizo TortoiseSVN la mayor parte del tiempo).

Sin embargo, cuando no todo el fallo anterior, escribiendo svn add <filename> y svn commit --message <foo> es tan difícil ;-)

0

En primer lugar, si usted es feliz con SVN y como el cliente que está utilizando, ¿por qué cambiar? Segundo, ¿qué hay de malo en aprender/usar una línea de comando? ¿Cuáles son tus razones para querer usar git? Git en realidad juega muy bien con otros sistemas de control de fuente y puedes almacenar cosas en git y svn al mismo tiempo sin ningún conflicto. Sin embargo, Git es muy unix/linux centrado. Es muy fácil de poner en ejecución (git init, git add, git commit, ...).

+0

Tengo experiencia personal de que git y svn no juegan tan bien cuando tu equipo de desarrollo se extiende a través de Windows y Linux: las terminaciones de línea difieren para estas plataformas, y git es bastante complicado. – Pistos

+0

pregunté por curiosidad ... – Tigraine

3

La mayoría de mis proyectos son dispositivos integrados o herramientas de desarrollo. Estoy en la línea de comandos todo el día, así que para mí, en realidad es una molestia abrir mi GUI de control de fuente. Todos los comandos que son tediosos o de uso común son alias o reemplazados por un script simple.

La otra ventaja de esto es que el proceso puede automatizarse en gran medida.

1

Puede usar TortoiseHg con Mercurial.

Es muy similar a TortoiseSVN en su integración con Windows, por lo que tendrá que ir a su línea de comandos menos.

1

Haciendo principalmente desarrollo de raíles en OS X/linux Terminé gastando la mitad del tiempo en la línea de comandos de todos modos ya que es la forma más fácil de ejecutar la mayoría de las herramientas de soporte, y se convierte en algo natural después de un tiempo. Mantengo abierto un IDE o editor de texto (dependiendo de la complejidad del proyecto) y gasto 50/50 de tiempo entre eso y la línea de comando.

Si está usando Visual Studio, supongo que está desarrollando en Windows. No es de extrañar que usar la línea de comandos no sea algo natural, sin ofender, es solo que la consola de Windows apesta y no es exactamente alentadora ni agradable de usar.

Un par de cosas que hacer para hacer su vida más fácil:

  • Instalar cygwin o similar a una cáscara de reemplazo para CMD.exe y empezar a utilizar las herramientas de línea de comandos * nix estilo. Le darán mucha más potencia que la que obtiene con Windows, y verá que comienza a ser más fácil usar la línea de comando para muchas cosas que usted usó para usar la GUI (archivo/mover operaciones, etc., verificar los archivos de registro).

  • Luego instale Console como reemplazo del terminal de línea de comandos de Windows estándar. pestañas es mucho más personalizable, soporta, destacando el color, etc.

hice estas dos cosas cuando fui a un proyecto basado nuevo cliente-sitio en el que nos vemos obligados a utilizar los PC con Windows. ¡Ayudó enormemente! Usar SVN/GIT desde la línea de comando es a menudo más fácil. Especialmente para operaciones masivas como esta que excavar a través de diálogos IDE.

+0

Es evidente que nunca has experimentado el powerhell Tomó MS décadas para ponerse al día con nix world, pero cuando lo hicieron, lo hicieron con estilo. Como alguien que solía pasar mucho tiempo escribiendo scripts ksh, puedo decir con confianza que PowerShell deja la antigua unix- conchas de estilo de pie. –

8

Tengo integración Tortoise SVN con Windows Explorer, por lo que cualquier archivo que no esté en un IDE es fácilmente procesable.

+0

Tiendo a usar AnkhSVN dentro del IDE y TortoiseSVN fuera del IDE .. Funciona con gr comer porque ambos comparten la estructura de la carpeta .svn. – Tigraine

1

Solía ​​usar forzar desde la línea de comando exclusivamente - en el momento en que era la línea de comando o su propia consola p4win. La línea de comando era francamente más fácil.

Pero eso estaba haciendo el desarrollo de Linux, ide era vi. Haciendo Java con IntelliJ y SVN Me encanta la integración ide ... nueva clase, auto añadido. Puede administrar la lista de cambios dentro del ide, diff, culpa, ver historial ... Creo que las ventajas de un sistema de control de fuente no integrado tendrían que ser bastante convincentes para que yo lo elija sobre uno integrado.

0

Personalmente, recientemente me han obligado a utilizar el control de código fuente integrado IDE en Eclipse y Visual studio y Eclipse después de usar Tortoise SVN, WinCVS y BZR en la línea de comandos.

Creo que el método integrado IDE es el más irritante, no quiero que todo esté en el IDE, quiero usar herramientas Diff adecuadas, etc. Simplemente no parece muy intuitivo.

Mi método favorito tiene que ser Usar un componente integrado de administrador de archivos, ya que modela bien cómo quiero que se vea el sistema de archivos en el servidor de control de origen.

También puedo tener archivos en varios idiomas diferentes, todos bajo el mismo repositorio porque no está limitado a la comprensión de los controles de fuente de los archivos.

Como alternativa, use la línea de comando, no le parece natural porque solo ha utilizado la integración IDE, fue construida por y para las personas que viven y respiran la línea de comandos, por lo general tiene sentido.

0

¿Has probado git gui? También tengo problemas para aprender los comandos pero me siento más cómodo con git gui.

He estado utilizando git con un proyecto .NET C# durante más de seis meses y estoy muy contento.

0

uso eclipse sin complemento para mercurial. Pero lo configuro para su uso. Y parece un complemento. No sé nada acerca de git, pero en Mercurial tienes tortoiseHG (como TortoSVN). En Visual Studio, ¿podría agregar herramientas externas?

si se puede se puede añadir esto para mercurial con TortoiseHg:

hgtk log < - con esto se puede añadir/quitar las etiquetas, la actualización (checkout), diff entre las revisiones ...
hgtk cometer < - con este se puede ver cuáles son los cambios
hgtk sincronización
estado hgtk
actualización hgtk

0

Otro enchufe para TortoiseSVN, que es excelente, pero no están integrados i nto un IDE.

Pero debe tener cuidado al agregar/eliminar archivos que tienen que hacerse tanto en el IDE como en Subversion. Desgraciadamente, es un poco fácil agregar un archivo en VS y olvidar agregarlo usando Tortoise.

Cuestiones relacionadas