如果我这样做:
pip install -e git://github.com/nimbis/django.git#egg=Django-dev
然后 pip 将从该存储库 ( 1.4.1-patched
) 中获取默认分支并安装它,正如您在安装它的 src 目录中看到的那样:
cd ~/.virtualenvs/nimbis/src/django
[(1.4.1-patched) ~/.virtualenvs/nimbis/src/django]
$ git log | head -n4
commit a5d7c7b3a2d6a729bf5ede2254b5c75be9da94d7
Author: Lorin Hochstein <...>
Date: Mon Jul 30 21:44:20 2012 -0400
如果我再次这样做,HEAD 将与远程 master 分支相同,尽管它仍然使用 1.4.1-patched (默认分支)作为分支名称。
$ pip install -e git://github.com/nimbis/django.git#egg=Django-dev
[(1.4.1-patched) lorin@nibbler ~/.virtualenvs/nimbis/src/django]
$ git log | head -n4
commit e567f439bdfc60e16c465220fdaa8ea8a0fae936
Merge: c0748a6 226a3e7
Author: Alex Gaynor <...>
Date: Sun Jul 29 17:07:55 2012 -0700
我可以通过明确指定我想要的分支来解决问题,但是为什么 pip 会这样做呢?