Introducción a Git, GitHub/BitBucket...

elkaoD

#60 o no nos entendemos.

Tú en el merge ves tu rama mergeada sobre la rama principal, pero los merges previos siguen ahí, tan sucios como lo eran antes. ¡Que te quede todo compactado en un único merge-commit no lo hace más limpio! La historia sigue ahí.

1 respuesta
Maaarc

Merece la pena tener un Github de estos para proyectos personales/clase de la uni o va a dar vergüenza ajena?

1 respuesta
elkaoD

#62 yo GitHub lo veo más social alrededor del opensource. Para proyectos personales, Git a secas o BitBucket y repos privados (o GitHub y repos privados gratis si eres estudiante).

3 respuestas
Gif

hazte uno personal, yo hace dos dias que lo tengo configurado y he puesto todos los proyectos del cole y personales, hoy los he acabado de añadir, si tienes un servidor para centralizar todo va de puta madre. xD

pero no hace falta tener servidor, puedes tener un pendrive para poner todo con el git.

1 respuesta
Maaarc

#63 #64 Guay, me creare uno otro día leyendo todo bien y ya lo probare para sacar mis conclusiones, gracias!

Athalberth

#61 Ok, tienes razón. De igual forma, me venía a referir que tú te puedes hacer tu branca para trabajar en paralelo sin molestar al vecino. Igualmente aún siendo así no sé si hay un consenso sobre cuándo hacer commit para no enguarrar mucho, por eso comentaba también lo de ponerse de acuerdo equipo. Pero sí, lo que comentas es cierto. No nos entendimos :D

#63 Yo hago igual. De momento en GutHub no tengo nada, pero todos mis proyectos personales están en Bitbucket.

Sr_RoS

#63 como se acredita que eres estudiante?

[EDIT] #68 gracias!

1 respuesta
ratontm

#67 Tienes que contactar con ellos diciéndoles que eres estudiante y tal. Si tienes correo de la universidad asócialo a la cuenta de github. A mi me lo dieron sin problemas.

https://github.com/edu

1 respuesta
EnZo

Nadie usa bitbucket? Es peor que github pero no tiene ningun tipo de limite para proyectos privados.

1 respuesta
Athalberth

#69 Yo lo uso para mis proyectos personales. No tienes todo el tema de estadísticas pero para usarlo solo es bastante potable.

r2d2rigo

Aviso a navegantes: CodePlex añadio hace tiempo soporte para Git tambien y VisualStudio.com da repos privados gratis a los que se puede conectar tanto con TFS como con Git.

1 respuesta
elkaoD

#71 hasta que Microsoft no se quite esa mala fama entre los devs...

No he usado CodePlex. ¿Destacarías algo?

1 respuesta
r2d2rigo

#72 la tendra entre los seguidores a muerte de RMS, porque ultimamente a la gente de web le esta haciendo la vida bien facil...

Asi a bote pronto CodePlex no es tan social como GitHub u otros, pero lo suple con el soporte de varios sistemas de source control (TFS, Mercurial y Git), que los proyectos pueden usar un sistema de wiki para la documentacion, que tiene un sistema integrado de releases y que los items dados de alta a traves del tracker web se pueden acceder desde Visual Studio.

5 meses después
Meleagant

Me estoy poniendo las pilas con el Git, y quería colaborar con un proyecto que sigo mucho, pero estoy teniendo algún problemilla, a ver si alguno podéis echarme un cable.

He hecho un fork del repositorio original y me lo he clonado en el ordenador.

Sobre los archivos de mi ordenador he hecho los cambios pertinentes en el código, y ahora quiero hacer un commit de dichos cambios al repositorio master, antes de solicitar un pull request al repositorio principal (upstream).

Lo intento con:

git push origin master

y me dice que:

Everything up-to-date

En github no veo que en mi repositorio se hayan subido los cambios de mi ordenador.

No sé si me he expresado bien porque todavía estoy un poco noob con todo este sistema. ¿Alguien sabe por dónde la estoy liando?

1 respuesta
gonya707

#74 primero tienes que hacer commit y luego push

1 1 respuesta
Meleagant

#75 Joder, tan simple y pensaba que lo había hecho ya.

Me faltaba también el git add, se ve que aún no he pillado bien el funcionamiento del sistema xD

Mil gracias :)

1 respuesta
zoeshadow

#76 Usa algún programa que te ofrezca una GUI, que facilita mucho trabajar con Git la verdad, incluso cuando estás aprendiendo de 0.

Yo uso Source Tree, al principio me costó un poco habituarme, pero a la larga soy mucho más productivo usandolo. Otra alternativa es Smart Git, el problema es que por temas de licencia no puedo usarlo en mi trabajo.

1 1 respuesta
Meleagant

#77 Tengo el SourceTree y está muy bien, pero la verdad que para empezar prefería ver un poco las cosas por debajo.

Una cosa que no acabo de comprender es que tengo que hacer add de cada archivo modificado cada vez que quiero añadir un commit.

¿No hay forma de que por defecto todos los archivos estén incluídos, y sólo se haga commit en los que han sido modificados?

1 respuesta
Lecherito

#78 Te recomiendo SmartGit, un compi de clase me decía que X o Y y no quería pero después de instalarlo que cosa más sencilla por dios. Además de que te crea branches automáticamente para los fixes o las cosas y luego los junta con el master, es muy curioso.

1
zoeshadow

No puedes hacer commit de todo, siempre puedes hacerte un alias con

git add -A && git commit

pero si lo que quieres es aprender, mejor que hagas todo paso a paso.

Además recuerda, que hay que intentar hacer los commits pequeños ( no estar dos dias haciendo algo y luego pushearlo todo ).

Las ventajas de hacerlo así son muchas, se sigue mejor lo que hacen las otras personas, y además si se provocan conflictos, suelen ser más faciles de solucionar

1
Wasd

Una pregunta, como tratáis con ficheros de configuración sensibles (que contienen nombres y passwords de DB's, etc...). Incluirlo en .gitignore no creo que sea la solución, sino más bien dejar en el remote unos valores por defecto. Soy bastante nuevo en Git...

radykal

Yo para los ficheros sensibles de configuración los añado al gitignore, y dejo una copia con valores en blanco con otro nombre, ejemplo:

local.php <--- en el gitignore, el fichero que usa la app
local.php.dist <-- fichero del repo sin valores sensibles.

1
Sr_RoS

hay alguna forma de añadir carpetas pero no su contenido a un repositorio?

2 respuestas
cabron

#83

No, lo máximo que puedes hacer es poner un archivo vacío en esa carpeta y subir el archivo al repositorio.

1 respuesta
Wasd

#83 #84 poniendo algo como carpeta/* en el .gitignore no funcionaría?

Aprovecho para preguntar algo: Es normal que al hacer un push de master a origin tras mergearlo con otra rama, se suban las dos? Es decir

Desarrollo en branch develop
commiteo
checkout a master
merge de develop
(aquí tendría que ir un commit?) <-- este paso no lo he hecho
push origin master

El caso es que en github se me ponen al día tanto develop como master. Es normal?

1 respuesta
zoeshadow

#85 Solo tendrías que commitear los cambios is hubieses tenido algún conflicto, que si estás trabajando solo no deberías tener problemas.

Y no, no es normal que se pushee también la otra rama, lo que no se me ocurre es porque puede pasarte eso

Wasd

Otro tema. He ejecutado un comando que modifica todo el historial de cambios. Si solo tengo entre 10 y 15 commits hechos, por que esta reescribiendo tantas cosas? Esos md5 parecen las ID's de los commits pero no tiene sentido alguno...

http://puu.sh/7XoPG.png

willy_chaos

Yo para el proyecto de Java que estoy haciendo en la uni con unos compañeros me he montado un servidor GIT en mi servidor de casa, pero no consigo conectarme con Eclipse + Egit mediante SSH

2 respuestas
PinVa

#88 Que cabrón como se hace eso? :(

cabron

#88

No existen 'servidores git' como tal, ya que git actúa sobre el sistema de archivos directamente, así que lo que tienes es un equipo en linux/windows normal y corriente. Si no puedes conectarte por ssh, tendrás algún problema en la máquina que estás usando como servidor que no tendrá nada que ver con .git.

Prueba a iniciar una conexión desde un terminal por shh (bash o putty si usas windows) a ver que error te da.

1 respuesta