2015-02-12 13 views
5

Trong Git, bạn có thể tạo lệnh tùy chỉnh bằng cách sử dụng bí danh hoặc bằng cách tạo tệp thực thi, được bao gồm trong PATH của bạn, bắt đầu bằng git-. Có lý do nào để chọn bí danh thay vì kịch bản không?Bất kỳ lý do nào để sử dụng bí danh Git thay vì tập lệnh git- *?

Tôi làm việc với một nhóm các nhà phát triển và đã tạo một số bí danh tiện dụng mà tôi muốn chia sẻ với họ. Một đồng nghiệp của tôi đề xuất rằng bí danh nên được sử dụng cho những thứ đơn giản, như rút ngắn một lệnh (ví dụ: git co làm bí danh cho git checkout) và tập lệnh đó sẽ hữu ích cho các tác vụ phức tạp hơn, như kết hợp nhiều hàm thành một. Nhưng anh ta không thể nghĩ ra bất kỳ lý do gì để không sử dụng kịch bản, không chắc đó có phải là cảm giác của anh ta không, hoặc nếu anh ta nghe ở đâu đó thì đó là thế nào, hay gì.

Nhóm chúng tôi tất cả các công trình trên máy chủ phát triển cùng, vì vậy nếu tôi có thể sử dụng một kịch bản, tôi chỉ có thể đặt nó trong /usr/local/bin và tất cả mọi người sẽ có quyền truy cập vào nó tự động. Vì vậy, ngay cả với một bí danh đơn giản, nó sẽ được thuận tiện hơn nhiều để chỉ có nó như là một kịch bản git để mọi người tự động có nó, trái ngược với tôi phải nói với tất cả mọi người để thiết lập nó riêng. Chưa kể, khi một nhà phát triển mới bắt đầu, chúng tôi sẽ phải nhớ để họ thiết lập nó.

Tôi biết có vẻ như tôi đang vận động cho phương pháp tập lệnh và tôi. Tôi chỉ tự hỏi nếu có bất kỳ hạn chế nào khi sử dụng phương pháp đó.

Trả lời

3

biệt hiệu được định nghĩa thông qua cơ chế cấu hình git, vì vậy họ có thể áp dụng đối với một trong hai toàn bộ hệ thống, một người dùng, hoặc chỉ một kho lưu trữ duy nhất, tùy thuộc vào việc bạn xác định chúng trong /etc/gitconfig, ~/.gitconfig hoặc $GIT_DIR/config. Nếu bạn sao chép tệp .gitconfig của riêng mình vào một máy mới, nó sẽ bao gồm tất cả bí danh cá nhân của bạn bằng cách sao chép một tệp, có vẻ ít phí hơn sao chép toàn bộ thư mục và thiết lập chính xác PATH để tìm tệp của bạn.

+0

Không có ý tưởng về cấu hình git toàn hệ thống. Tôi nghĩ rằng nó có vẻ như là ý tưởng tốt nhất để sử dụng cấu hình git hệ thống để rút ngắn các lệnh git thông thường và các kịch bản lệnh shell cho các lệnh kết hợp nặng nề. Câu hỏi không thực sự dễ dàng khi di chuyển các lệnh sang máy mới, nhưng thiết lập người dùng mới trên cùng một máy chủ, miễn là chúng tôi có thể đặt bí danh để áp dụng cho tất cả người dùng trên hệ thống (mà chúng tôi có thể, như bạn đã chỉ ra), điều đó phù hợp với chúng tôi. Cảm ơn bạn! – Travesty3

+0

Lưu ý rằng một tập lệnh có thể được gọi từ bên trong định nghĩa bí danh. Trong trường hợp đó, việc chia sẻ (các) tệp cấu hình Git của bạn với những người khác sẽ không đủ; bạn cũng sẽ cần chia sẻ tập lệnh được đề cập. – Jubobs

4

Với việc sử dụng bí danh git bạn sẽ có thể sử dụng autocompletion tên chi nhánh, thẻ, vv

+0

+1 Điểm rất hợp lệ. Chỉ cần thử nó và chắc chắn đủ, autocomplete làm việc với một bí danh, nhưng không phải với một kịch bản. Cảm ơn bạn! – Travesty3

+0

tự động hoàn thành sẽ hoạt động nếu bạn đặt tên cho tập lệnh như 'git-foo' –

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