2

私は最近、git コマンドを実行する python を使用して git コマンドを作成したので、モジュールsubproces.Popenを利用するかどうかについて議論していますか? モジュールを使用gitPythonしても違いはありますか?gitpython

4

3 に答える 3

2

subprocess モジュールを使用すると、作業が簡単になります。gitPython が機能するようになるまでには、さらに時間がかかるようです。プロジェクトによっては、サブプロセスを使用する方が簡単な場合があります。サブプロセス ルートに進むことを考えている場合は、sh もチェックする価値があります。http://amoffat.github.io/sh/ sh を使用すると、プログラムを関数であるかのように呼び出すことができます。また、https://github.com/FriendCode/gittleも調べましたか? Git コマンドの自動化だけを検討している場合は便利かもしれません。

元:

import sh
git = sh.git.bake(_cwd='/home/me/repodir')
print git.status()
# checkout and track a remote branch
print git.checkout('-b', 'somebranch')
# add a file
print git.add('somefile')
# commit
print git.commit(m='my commit message')
# now we are one commit ahead
print git.status()

詳細: Python Git モジュールの経験?

于 2014-03-14T15:49:04.137 に答える
1

IMO これは一般的な質問の特定のバージョンです。ほとんどの場合、答えはノーです*。

また、この質問が書かれたとき (つまり、2015 年 4 月に 1.0.0 がリリースされる前) に GitPython を見た人は、もう一度見てみる必要があります。プロジェクトは最近多くの進歩を遂げています。

GitPython は次のとおりです。

  • オープンソースのコミュニティ プロジェクト
  • git への Python インターフェース
  • 自動化された単体テストで十分にテストされている
  • 何百人、何千人もの人々が使用しているため、自分で書いたコードよりもはるかに早くバグを特定できます。
  • gitを本当に理解している人々によって維持されています
  • あなた以外の誰かが書いたものなので、 gitで実際にやりたいことに集中できます。
  • プルリクエストでの作業は非常に優れているため、不足していて必要なものがあれば、追加してください
  • BSD ライセンスの下でライセンスされているため、プロジェクトがオープンソースに友好的でない企業向けである場合、GPL またはより積極的なコピーレフト ライセンスに伴う懸念はありません。

* はい、法律や社内政治、またはNIH 症候群など、自分で何かを書く必要がある理由がいくつかあります。それらはすべてエッジケースだと思います。

于 2015-06-05T18:31:54.543 に答える