web-dev-qa-db-ja.com

Ubuntu 12.10にgit 1.8.3.2がインストールされているのに、 `git subtree`が機能しないのはなぜですか?

AngularJSベースの静的サイトをYeomanのGithubページとしてデプロイしようとしています。展開手順のステップ3で実行するように指示されます

git subtree Push --prefix dist Origin gh-pages

でもそこに入ると

git: 'subtree' is not a git command. See 'git --help'.

この SOの回答は、最新のgit-coreにアップグレードし、常に最新の安定したリリースにアップグレードされるようにするための手順 を提供しました。

Sudo add-apt-repository ppa:git-core/ppa
Sudo apt-get update
Sudo apt-get install git

これらのコマンドを実行した後、私はgit --version私が最新バージョンであることを確認するため、そしてgit version 1.8.3.2が出力でした。今走ってみたところ

git subtree Push --prefix dist Origin gh-pages

もう一度私はまだ同じ次のエラーを得ました

git: 'subtree' is not a git command. See 'git --help'.

最後に、Ubuntu 12.10を再起動してコマンドをもう一度実行しようとしましたが、もう一度同じエラーが発生しました。

どうしてgit subtree現在の安定版リリースにアップグレードしたにもかかわらず、コマンドがまだ機能しませんか?

39
user883807

デフォルトのパッケージではインストールされていないようです。このサイトにはいくつかの指示があります: http://engineeredweb.com/blog/how-to-install-git-subtree

22
TeTeT

実際にはUbuntuにインストールされていますが、何らかの理由でgitがそれを見つけられる場所に置かれていません。最も簡単な方法は、シンボリックリンクを作成することです。

Sudo chmod +x /usr/share/doc/git/contrib/subtree/git-subtree.sh
Sudo ln -s /usr/share/doc/git/contrib/subtree/git-subtree.sh /usr/lib/git-core/git-subtree

UPDATE 1:パッチが送信されました アップストリームのように見えますが、これを修正するためにまだマージされていません。

更新2:Debianでこれを修正するパッチがマージされましたが、別のgit-subtreeパッケージのルートに進んだので、私はしませんこれでUbuntu 12.04になると思います。 14.04では/usr/lib/git-core/git-subtreegitパッケージによってすでに正しく作成されているため、問題ではないようです。

46
Tobias J

Fedoraでは、別のパッケージとして入手できます。

dnf install git-subtree

1
Alex F