¿Cómo decirle a Git que siempre saque la twig principal?

Encuentro git docs muy críptico con respecto a este tema. Quiero hacer algo simple, pero parece que hacerlo no es simple en absoluto.

Tengo la siguiente situación:

$ git remote -v origin git://192.168.0.49/mnt/repos stick /mnt/titanium/podaci/repos 

Puedo usar git pull para search y fusionar desde el origen, y eso funciona bien:

 $ git pull Already up-to-date. 

Puedo sacar de un palo así:

 $ git pull stick master Already up-to-date. 

Sin embargo, cuando saco del stick sin la parte maestra , obtengo este post:

 $ git pull stick From /mnt/titanium/podaci/repos * [new branch] su2009 -> stick/su2009 You asked me to pull without telling me which branch you want to merge with, and 'branch.master.merge' in your configuration file does not tell me either. Please name which branch you want to merge on the command line and try again (eg 'git pull <repository> <refspec>'). See git-pull(1) for details on the refspec. If you often merge with the same branch, you may want to configure the following variables in your configuration file: branch.master.remote = <nickname> branch.master.merge = <remote-ref> remote.<nickname>.url = <url> remote.<nickname>.fetch = <refspec> See git-config(1) for details. 

Algunas cosas me confunden aquí. ¿Qué significa " su file de configuration " aquí? ¿Qué file debo editar y qué debo escribir exactamente? ¿Cuál es el apodo en este caso?

Esperaría que lo que bash lograr sea muy común, pero no he podido encontrar una respuesta directa con un ejemplo.

Solutions Collecting From Web of "¿Cómo decirle a Git que siempre saque la twig principal?"

¿Qué significa "su file de configuration" aquí?

El file de configuration de su repository, encontrado en .git/config en la raíz de su repository. (También hay un file de configuration global por usuario en ~/.gitconfig , pero no desea poner allí la configuration específica del repository).

¿Qué file debo editar y qué debo escribir exactamente?

Puede usar el progtwig git config para escribir información de configuration, en lugar de ingresarla manualmente. Sin embargo, si quiere hacerlo manualmente, simplemente abra .git/config – la syntax es bastante sencilla.

¿Cuál es el apodo en este caso?

Apodo, en este caso, es el nombre del control remoto, por lo tanto, "pegar". No tiene que preocuparse por las opciones remote.* , Ya que éstas ya han sido configuradas, pero sí necesita configurar las opciones de branch.* . Estas opciones le dicen a Git qué fusionar al hacer un git pull desde stick.

Digamos que quieres unir en master de stick al hacer un git pull desde stick. Puedes hacerlo así:

 # Sets stick as default remote for git pull. # Note that origin will no longer be the default remote for git pull! $ git config branch.master.remote stick # Automatically merge in stick's master branch when doing a git pull $ git config branch.master.merge refs/heads/master 

Así que ahora, cuando hagas un git pull sin ninguna información remota o de reference, searchá todas las twigs del stick y se fusionará en la twig master del stick. Tenga en count que el origen ya no será el control remoto pnetworkingeterminado; para fusionarse en la twig maestra del origen, tendrás que usar el git pull origin master .

Si no desea cambiar el control remoto pnetworkingeterminado para pegar, deberá continuar usando git pull stick master .