Vấn đề với các hệ thống kiểm soát phiên bản hiện tại không quá phức tạp; Có một sự thật là có rất nhiều thông tin ngoài kia đến nỗi người mới bắt đầu rất khó nhìn thấy rừng cây (nghĩa là tìm ra những gì họ làm và không cần phải học khi họ mới bắt đầu ).
Bài đăng này sẽ tập trung vào git
và mô tả cách kiểm soát nó từ Emacs bằng cách sử dụng gói bổ trợ được gọi magit
. Đúng , git
rất phức tạp, nhưng bạn không cần phải học nhiều để sử dụng nó một cách hiệu quả cho mục đích bạn mô tả.
Tôi sẽ giả định rằng bạn đã git
cài đặt (nếu bạn không, hãy lấy nó ở đây ) và rằng bạn không muốn rời khỏi Emacs.
Cài đặt magit
magit
là một git
mặt trước cho Emacs. Nó có sẵn từ MELPA và bạn có thể cài đặt nó qua:
M-x package-install
RET magit
RET
Nếu bạn chưa kích hoạt MELPA trong cấu hình của mình, bạn có thể tìm thấy hướng dẫn về cách thực hiện điều đó tại đây .
Thiết lập một kho lưu trữ
Giả sử bạn có một thư mục được gọi ~/writing
trong thư mục chính chứa một hoặc nhiều tài liệu mà bạn muốn đặt dưới sự kiểm soát phiên bản.
- Mở thư mục trong Dired: C-x d
~/writing
RET
- Mở một cái vỏ: M-x
shell
RET
- Gõ
git init
và đánh RET.
Đó là nó. Bây giờ bạn có một git
kho lưu trữ. Không cần phải "đăng ký" nó ở bất cứ đâu. git
là một hệ thống kiểm soát phiên bản phân tán ; nó không yêu cầu một máy chủ từ xa để theo dõi các thay đổi.
Kiểm tra trạng thái của kho lưu trữ của bạn
- Quay trở lại bộ đệm Dired liệt kê các tệp trong kho lưu trữ của bạn.
- Làm M-x
magit-status
RET.
Bạn có thể nghĩ về bộ đệm xuất hiện dưới dạng "bảng điều khiển" để làm việc với kho lưu trữ của bạn. Đối với một kho lưu trữ mới, nó trông giống như thế này:
Bạn có thể điều hướng giữa các phần khác nhau của bộ đệm này bằng cách sử dụng n( magit-goto-next-section
) và p( magit-goto-previous-section
).
Bạn có thể làm mới bộ đệm bằng cách nhấn g( magit-refresh
).
Lưu ý rằng bạn có thể hiển thị bộ đệm trạng thái từ bất kỳ tệp hoặc thư mục nào thuộc về kho lưu trữ mà bạn đã thiết lập trước đó.
Thêm tệp
Như bạn có thể thấy trong ảnh chụp màn hình, có ba tệp trong kho lưu trữ git
hiện không theo dõi. Để biết git
để bắt đầu theo dõi một tệp, bạn cần tạo giai đoạn cho nó: Với điểm trên tệp bạn muốn thêm, nhấn s. Bộ đệm trạng thái sau đó sẽ trông như thế này:
Cam kết
Sau khi dàn dựng một hoặc nhiều tệp, bạn có thể cam kết chúng bằng cách nhấn c c. Điều này sẽ mang đến một bộ đệm trông như thế này:
Nhập thông điệp cam kết của bạn ở trên cùng và sau đó nhấn C-c C-cđể hoàn thành cam kết. (Để hủy bỏ, nhấn C-c C-k.)
Bộ đệm trạng thái sau đó sẽ trông như thế này:
Thay đổi giai đoạn
Nếu bạn thay đổi tệp được theo dõi, chúng sẽ được liệt kê trong một phần riêng ("Thay đổi chưa được xử lý") trong bộ đệm trạng thái:
Để xem lại những thay đổi bạn đã thực hiện đối với tệp, hãy điều hướng đến dòng có nội dung Modified file-1.txt
và nhấn TAB:
Để thực hiện những thay đổi này, nhấn s:
Xem các cam kết trong quá khứ
Cuối cùng, nếu bạn muốn xem lại các cam kết trong quá khứ, bạn có thể nhấn l l(đó là hai chữ L viết thường):
Như thường lệ, bạn có thể điều hướng bộ đệm đi kèm nvà p. Magit sẽ hiển thị các thay đổi liên quan đến các cam kết riêng lẻ được liệt kê trong bộ đệm này trong một cửa sổ riêng.
Tóm lược
Từ vỏ:
git init
: Khởi tạo git
kho lưu trữ trong thư mục hiện tại
Từ bất kỳ tập tin hoặc thư mục liên quan đến một git
kho lưu trữ:
Từ bộ đệm trạng thái:
Đó là nó. :)
git
vàmagit
- github.com/magit/magit - vì bạn đã chơi xung quanh một chút với nó. Có lẽ bạn sẽ muốn làm quen với các tùy chọn dòng lệnh để bạn hiểu rõ hơn về những gìmagit
đang làm. Emacs là không cho người không lập trình, nhưng bạn đã được xung quanh hiện trường đủ lâu để không phải sợ nó - :) Bạn cũng có thể muốn thử chơi vớigist
: github.com/defunkt/gist.el