Si hagogit tracking no funciona con diferentes nombres locales y remotos?
git checkout -b samename origin/samename
luego un seguimiento parece funcionar bien. Si realizo confirmaciones posteriores, puedo hacer
git push
y git realizo mis confirmaciones de origen correctamente.
Sin embargo, si lo hago
git checkout -b diffname origin/samename
luego un seguimiento no funciona, a pesar de esta sección del libro git Pro:
$ git checkout -b sf origin/serverfix
Branch sf set up to track remote branch refs/remotes/origin/serverfix.
Switched to a new branch "sf"
Now, your local branch sf will automatically push to and pull from origin/serverfix
Git entusiasmo simplemente da 'Todo hasta la fecha' ¿Lo que da?
Me postulo Git 1.7.1 en Mac OS X
Aquí está todo el experimento para aquellos que quieran probarlo en casa:
szbwood-mbp15:proj4_local bwood$ vi file1
szbwood-mbp15:proj4_local bwood$ git add file1
szbwood-mbp15:proj4_local bwood$ git commit -m"Created file 1"
[master (root-commit) 5d50289] Created file 1
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 file1
szbwood-mbp15:proj4_local bwood$ git push origin master:samename
Counting objects: 3, done.
Writing objects: 100% (3/3), 225 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /Users/bwood/work/gitplay/proj4_remote.git
* [new branch] master -> samename
szbwood-mbp15:proj4_local bwood$ git checkout -b samename origin/samename
Branch samename set up to track remote branch samename from origin.
Switched to a new branch 'samename'
szbwood-mbp15:proj4_local bwood$ vi file1
szbwood-mbp15:proj4_local bwood$ git commit -a
[samename a7af908] ..
1 files changed, 1 insertions(+), 0 deletions(-)
szbwood-mbp15:proj4_local bwood$ git push
Counting objects: 5, done.
Writing objects: 100% (3/3), 251 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /Users/bwood/work/gitplay/proj4_remote.git
5d50289..a7af908 samename -> samename
szbwood-mbp15:proj4_local bwood$ git checkout -b diffname origin/samename
Branch diffname set up to track remote branch samename from origin.
Switched to a new branch 'diffname'
szbwood-mbp15:proj4_local bwood$ vi file1
szbwood-mbp15:proj4_local bwood$ git commit -a
[diffname c5bbec1] ..
1 files changed, 1 insertions(+), 0 deletions(-)
szbwood-mbp15:proj4_local bwood$ git push
Everything up-to-date
Lo extraño es, el archivo de configuración se ve bien ..
[branch "samename"]
remote = origin
merge = refs/heads/samename
[branch "diffname"]
remote = origin
merge = refs/heads/samename
Lo extraño es que el archivo de configuración en .git se ve bien: – bruce
En realidad, creo que el libro está mal, y leyendo la página de manual para push y este mensaje SO http://stackoverflow.com/questions/948354/git -push-current-branch agrega peso a esto.Parece que si no especificas abiertamente la rama para enviar, git empuja TODAS las ramas locales que coinciden con los nombres remotos. Y si no especifica el control remoto, entonces asume el control remoto de la rama actual. Por lo tanto, a menudo debe parecerle a las personas que rastrear una rama significa que puede impulsar sus cambios con 'git push', pero creo que esto está equivocado. Git push está impulsando todas las sucursales locales que coinciden con nombres remotos. – bruce