为什么git在Python中运行时提供不同的输出?

时间:2017-11-30 15:08:39

标签: git bash python-2.7 shell

我有一个本地git存储库,其分支this_branch已签出,分支master也可用。我从终端

中的bash运行以下命令
$ { git rebase master this_branch ; } 2>&1

我看到了这个输出

  

当前分支this_branch是最新的。

我还有一个python脚本,我在其中cd到同一目录,然后运行相同的命令。我正在运行Python 2.7并使用commands.getstatusoutput,因此命令最终以

运行
>>> import os
>>> cmd = 'git rebase master this_branch'
>>> pipe = os.popen('{ ' + cmd + '; } 2>&1', 'r')
>>> text = pipe.read()
>>> print text

我看到了这个输出

  

首先,倒带头重播你的作品......

在bash终端,我发现没有与git相关的符号($ env | grep -i git没有显示任何内容)。

这给我留下了两个问题:

  1. 还有什么可能影响2个不同的shell(终端和Python os.popen)告诉git更改其输出?
  2. 我应该使用什么代替commands.getstatusoutput来更接近地模仿终端的行为?

0 个答案:

没有答案