2013-07-22 33 views
32

Tôi sắp triển khai trang tĩnh dựa trên AngularJS của tôi dưới dạng Trang Github với Yeoman. Bước 3 của hướng dẫn triển khai cho tôi biết phải làmTại sao `git subtree` không hoạt động mặc dù tôi đã cài đặt git 1.8.3.2 trên Ubuntu 12.10?

git subtree push --prefix dist origin gh-pages

nhưng khi tôi nhập mà tôi nhận được

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

này SO answer provided me instructions về cách nâng cấp lên git-core mới nhất và đảm bảo nó luôn được nâng cấp lên bản phát hành ổn định mới nhất.

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

Sau khi chạy những lệnh tôi đã làm git --version để chắc chắn rằng tôi đã có phiên bản mới nhất và dường như tôi đã làm kể từ git version 1.8.3.2 là đầu ra. Bây giờ khi tôi cố gắng chạy

git subtree push --prefix dist origin gh-pages

một lần nữa tôi vẫn có những lỗi sau cùng

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

Cuối cùng tôi chỉ khởi động lại Ubuntu 12.10 và cố gắng chạy lệnh một lần nữa nhưng một lần nữa, tôi đã cùng một lỗi.

Làm cách nào để lệnh git subtree vẫn không hoạt động ngay cả khi tôi đã nâng cấp lên bản phát hành ổn định hiện tại?

+1

Dường như nó không được cài đặt theo gói mặc định. Trang web này có một số hướng dẫn: http://engineeredweb.com/blog/how-to-install-git-subtree/ – TeTeT

+0

Ahh phải nhờ. Điều đó đã làm điều đó. Hãy trả lời nó và tôi sẽ đánh dấu nó đúng nếu bạn muốn. –

Trả lời

18

Dường như nó không được cài đặt theo gói mặc định. Trang web này có một số hướng dẫn: http://engineeredweb.com/blog/how-to-install-git-subtree

+6

Trên Ubuntu nó đã được cài đặt, nhưng tôi phải thêm một simlink: http://cogumbreiro.blogspot.com/2013/05/how-to-install-git-subtree-in-ubuntu.html – thebenedict

+0

@thebenedict Thú vị! BTW xây dựng manpage đòi hỏi một toolchain rất lớn. Tôi tìm thấy một bản vá có thêm một manpage được tạo sẵn, 'git-subtree.1': http://code.google.com/p/git-core/issues/detail?id=18 – 13ren

+0

@thebenedict ftw - đây là câu trả lời đúng! Quá tệ, đó là một lời nhận xét và tôi không thể đưa bạn lên cao hơn nữa .. –

44

Nó thực sự được cài đặt trên Ubuntu nhưng vì lý do nào đó, nó không được đặt bất kỳ nơi nào mà git có thể tìm thấy nó. Cách đơn giản nhất là để tạo ra một liên kết tượng trưng:

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: trông giống như một patch has been submitted thượng nguồn để sửa lỗi này nhưng nó vẫn chưa được sáp nhập.

CẬP NHẬT 2: bản vá để khắc phục lỗi này trong Debian đã được hợp nhất, nhưng vì chúng đã đi theo gói riêng biệt git-subtree Tôi không nghĩ điều này sẽ chuyển sang Ubuntu 12.04. Dường như không phải là một vấn đề trong 14.04 là /usr/lib/git-core/git-subtree đã được tạo chính xác theo gói git.

+2

Ngay cả sau khi cập nhật mới nhất từ ​​git-core/ppa, không tìm thấy subtree. Giải pháp này là bản sửa lỗi thực sự cho tôi (Linux Mint 14) – powlo

+1

cảm ơn bạn. Đã khắc phục sự cố của tôi trên ubuntu 12.04 – zjhui

Các vấn đề liên quan