Vì vậy, ngay bây giờ tôi đang học Ruby on Rails, và tôi đang làm việc thông qua cuốn sách "Agile Web Development with Rails". Tôi cũng đã quyết định rằng tôi muốn cung cấp cho Mercurial một đi, bởi vì tôi đã đọc lên trên phân phối của SCM, và nó có vẻ như một tình huống lý tưởng. Tôi vẫn còn, tuy nhiên, thích để đẩy mã của tôi từ xa để Linux VPS của tôi chỉ trong ổ cứng của tôi quyết định đi lặn.Phân nhánh với Mercurial SCM
Vì vậy, câu hỏi của tôi dành riêng cho phân nhánh trong Mercurial. Ngay bây giờ tôi đã có một kho lưu trữ từ xa được thiết lập và tôi có thể đẩy các thay đổi qua SSH dễ dàng (địa ngục tôi thậm chí thiết lập một trang web Nginx FastCGI cho phép tôi đẩy, quá). Những gì tôi muốn làm, tuy nhiên, là tạo ra các chi nhánh cho mỗi chương như tôi làm việc trên chúng, vì vậy tôi có thể giữ một lịch sử tổ chức tốt đẹp của sự tiến bộ của tôi thông qua cuốn sách. Vì vậy, đây là những gì tôi đang làm:
$ hg branch chapter-10 (do chapter 10 stuff) $ hg commit -m "Chapter 10 complete" $ hg update default $ hg merge chapter-10 $ hg commit -m "Merging chapter 10 into default" $ hg push
Khi tôi thực hiện các tuyên bố đẩy, tôi nhận được tin nhắn này từ Mercurial:
pushing to ssh://myserver/hg/depot searching for changes abort: push creates new remote branch 'chapter-10'! (did you forget to merge? use push -f to force)
Vì vậy, tại thời điểm này tôi cố gắng làm một hg merge
một lần nữa, và nó nói với tôi không có gì để hợp nhất, điều này rõ ràng là sự thật bởi vì tôi vừa sáp nhập nó. Khi tôi ép buộc bằng -f, mọi thứ có vẻ ổn, và thậm chí giao diện web cũng hiển thị các nhánh thích hợp.
Tóm lại, câu hỏi của tôi rất đơn giản: Tôi có làm đúng cách không? Có cách nào phù hợp hơn để thực hiện điều này với Mercurial (tức là "Mercurial way") không? Thành thật mà nói, tôi chỉ muốn kho lưu trữ để phục vụ như một bản sao lưu. Tôi là một fan hâm mộ của mô hình SCM phân tán, nhưng với tôi nó cảm thấy sorta "bẩn" để buộc đẩy. Bất kỳ cái nhìn sâu sắc nào đều được đánh giá cao! Cảm ơn trước.
Mục đích của bạn: a) Để có một loạt các điểm kiểm tra công việc của bạn khi bạn làm việc theo cách của bạn thông qua các chương hoặc b) Để mở nhiều chương để chỉnh sửa đồng thời trên các nhánh khác nhau? – Tarydon
Tùy chọn A là ý định của tôi ở đây, nhưng trong kịch bản nhóm, tôi có thể thấy giá trị trong Tùy chọn B cũng như –