Tôi đang sử dụng git-emacs để gửi mã tới github throug Emacs. Nó là ok cho add
và commit
, nhưng có vẻ như git-emacs không hỗ trợ hoạt động git push
. Khi tôi nhập M-x git-push
, nó phản hồi "không có lệnh như vậy".Làm thế nào để git push bằng git-emacs?
Trả lời
Bạn nói đúng, không. Tuy nhiên, magit có thể đẩy.
vì vậy tôi chuyển sang magit, nhưng tôi vẫn không thể đẩy, nó là ok để giai đoạn và cam kết, nhưng khi tôi gõ PP để làm một git push, nó chỉ nói: "git push -v ......" trong giao diện điều khiển, nó đã không thực sự đẩy bất cứ điều gì vào kho lưu trữ, bạn có thể giúp đỡ với điều này cũng? – zolibra
Có vấn đề với github: https://github.com/magit/magit/pull/433 Kiểm tra bằng cách nhấn '$' xem liệu Magit có bị treo khi đăng nhập hay không. Cập nhật Magit mới nhất, và nếu điều này không giúp được - thì việc đẩy mạnh chỉ là một vài thao tác gõ phím trong vỏ ... – lukstafi
Đây là một tác dụng phụ không may của thực tế hỗ trợ VCS Emacs tích hợp (vc-mode
) chủ yếu được xây dựng cho các công cụ như cv, subversion, v.v ... có quy trình làm việc hoàn toàn khác. Hỗ trợ DVCS đã được bổ sung khá sớm (trong Emacs 23). Tôi hy vọng vc-mode
sẽ được cải thiện trong tương lai gần. Cho đến lúc đó ...
Như @khagler cho biết Magit hỗ trợ git push
. Một tùy chọn vững chắc khác để bạn khám phá là Egg.
By git-emacs, bạn có thể đẩy theo cách sau:
M-x git-cmd
, đó là ràng buộc đểC-x g .
(Tronggit-status
cửa sổ nó là ràng buộc để.
)- gõ
push
Phiên bản mới hơn của Emac cung cấp lệnh:
C-x v P
phiên bản dài hơn:
M-x vc-push
(như được ghi chú bởi @ CAT0). Nếu phiên bản của Emacs không hỗ trợ lệnh đó, hãy thử:
M-& git push [Enter]
còn phiên bản:
M-x async-shell-command [Enter] git push [Enter]
Như đã chỉ ra bởi @mariotomo này là tốt hơn so với phiên bản đồng bộ dưới đây vì nó sẽ mở ra một bộ đệm cho đầu ra. phiên bản
M-! git push [Enter]
còn:
M-x shell-command [Enter] git push [Enter]
(M-
là viết tắt của "chìa khóa Meta" mà có thể Esc
hoặc Alt
hoặc Ctrl+[
).
(và nếu bạn đang sử dụng Windows và do dự sử dụng vỏ đi vào vỏ DOS khó chịu theo mặc định, hãy thử chạy Emacs dưới dạng emacs-w32
từ Cygwin, mọi thứ sẽ tốt hơn).
thậm chí tốt hơn, sử dụng 'M- & 'để emacs sẽ không bị mắc kẹt chờ đợi git để hoàn thành và một bộ đệm sẽ xuất hiện với đầu ra của lệnh. – mariotomo
Trong emacs 25 (có lẽ cũng sớm) có lệnh
vc đẩy
mà thực hiện chính xác những gì nó cần.Nó được ràng buộc để C-x v P
Bạn có thể chạy 'git push' trong' eshell'. – ceving