¿Cómo sincronizar con un repositorio Git remoto?


94

Bifurqué un proyecto en github, hice algunos cambios, hasta ahora todo bien.

Mientras tanto, el repositorio desde el que hice la bifurcación cambió y me gustaría obtener esos cambios en mi repositorio. Cómo puedo hacer eso ?

Respuestas:


77

Generalmente git pulles suficiente, pero no estoy seguro de qué diseño ha elegido (o qué diseño ha elegido github para usted).


4
git pull no funcionará a menos que haya configurado el control remoto desde el que buscar y la rama para fusionar.
Abizern

Supongo que se hizo durante la fase de "hacer una bifurcación". A menos que esta información se haya desechado, aún debería estar allí.
Šimon Tóth

usar git pull con https no funcionó, pero con http lo hizo ... ahora estoy actualizado, ¡Gracias!
George Profenza

@GeorgeProfenza Eso no es seguro. Considere usarssh
JVE999

66

Suponiendo que sus actualizaciones están en el maestro y usted está en la rama en la que desea fusionar los cambios.

git remote add origin https://github.com/<github-username>/<repo-name>.git
git pull origin master

También tenga en cuenta que luego querrá enviar la fusión a su copia del repositorio:

git push origin master

agregar funcionó, tirar no lo hizo :(, recibí un error relacionado con https: error: Protocolo https no compatible o deshabilitado en libcurl al acceder a github.com/mrdoob/three.js.git/info/refs fatal: la solicitud HTTP falló ¿Sugerencias?
George Profenza

¿Qué plataforma? Parece que una de las dependencias de git no está completa.
Mark Hibberd

Como solución, también puede usar el protocolo git en lugar de https, por ejemplo, git remote set-url git: //github.com/mrdoob/three.js.git, luego pruebe el git pull.
Mark Hibberd

ejecutándose en osx. Me las arreglé para obtenerlo usando git pull github.com/mrdoob/three.js.git master
George Profenza

3
error tipográfico en los comandos, creo, empiezas con original, luego origin
cambias

46

Debe agregar el repositorio original como un flujo ascendente.

Todo está bien descrito aquí: https://help.github.com/articles/fork-a-repo

git remote add upstream https://github.com/octocat/Spoon-Knife.git
git fetch upstream
git merge upstream/master
git push origin master

5

Debe agregar el repositorio original (el que bifurcó) como remoto.

git remote add github (clonar url para el repositorio original)

Entonces necesitas traer los cambios a tu repositorio local

git buscar github

Ahora tendrás todas las ramas del repositorio original en tu local. Por ejemplo, la rama maestra será github/master. Con estas ramas puedes hacer lo que quieras. Fusionarlos en sus ramas, etc.


1
Sugiero el nombre upstreamdel control remoto.
vidstige

@vidstige Lo cual no es lo suficientemente descriptivo si tiene varios controles remotos para un repositorio. Por ejemplo, con frecuencia tengo un control remoto en Github y un control remoto en Dropbox.
Abizern

bueno, por supuesto que tiene sentido. Por eso es genial tener la capacidad de nombrarlos tú mismo. Tenga en cuenta que su configuración es probablemente menos común que tener un origen remoto llamado que es su propia bifurcación y luego tiene el original, que generalmente se llama "upstream".
vidstige

-8

Para Linux:

git add * 
git commit -a --message "Initial Push All"
git push -u origin --all

3
Esto es lo contrario de lo que OP estaba buscando.
Ryan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.