今のところ、これに対する最もクリーンな解決策は、iTermセッションの最初のコマンドを
/usr/bin/login -f <your user name>
これで問題が解決します。
問題を分析するためのさらなるデータポイント:10.10では、PATH環境変数の複数のコピーが存在し、サブシェルは2番目のコピーを優先するようです。
iTermによって起動されるようにコンソール上で任意のcocoaアプリケーションを起動することにより、これを再現できます。次のような警告が表示されます。
2014-06-04 19:23:09.859 gitx[14676:362580] *** -[NSProcessInfo environment]: Warning: duplicate definition for key 'PATH' found in environment -- subsequent definitions are ignored. The first definition was '(the path I have configured in my shell)', the ignored definition is '/usr/bin:/bin:/usr/sbin:/sbin'.
これはiTermではなく10.10の問題だと思いますが、iTermが実行していることが原因でそれが顕在化しています(これはTerminal.appでは発生しません)。
更新:これは、iTermが環境に対して「興味深い」ことを行っているために発生します。この問題を解消するには、iTerm 2.0の公式リリースに更新してください。
git stash
ます。解決策が見つかったらお知らせします