2011-01-11 41 views
5

On hginit.com, một công việc hg điển hình được mô tả như sau:Quy trình làm việc điển hình của Git so với quy trình của Mercurial như thế nào?

1.If bạn đã không làm như vậy trong một thời gian, có được phiên bản mới nhất mà tất cả mọi người khác đang làm việc tắt của:
hg kéo
hg lên
2.Make một số thay đổi
3.Commit họ (địa phương)
4.Repeat bước 2-3 cho đến khi bạn đã có một số mã đẹp mà bạn sẵn sàng
gây ra cho người khác
5.When bạn đã sẵn sàng để chia sẻ:
hg kéo để có được những thay đổi tất cả mọi người khác (nếu có)
hg hợp nhất để hợp nhất chúng vào bạn
thử nghiệm! để đảm bảo merge không vít bất cứ điều gì lên
hg cam kết (hợp nhất) HG đẩy

tôi sử dụng hg khá thường xuyên, và tất cả điều này có ý nghĩa với tôi. Tôi vừa mới bắt đầu sử dụng git, và tôi đã không tìm thấy bất cứ điều gì mô tả một quy trình công việc điển hình như trích dẫn ở trên. Tôi đã hy vọng một ai đó có thể giải thích sự khác biệt trong quy trình làm việc giữa hai công cụ này và mô tả một quy trình làm việc điển hình trong git.

+0

Như bạn có vẻ mới với Stack Overflow, lưu ý rằng bạn nên bỏ phiếu cho tất cả các câu trả lời mà bạn thấy hữu ích và chấp nhận một câu trả lời (nếu có) cho mỗi câu hỏi mà bạn cảm thấy đã giải quyết được. – Phrogz

+1

@Phrogz Bạn cần ít nhất 15Rep để bỏ phiếu cho số – Rudi

Trả lời

5

Đó là về giống nhau:

  1. git pull # Nhận mã mới nhất
  2. Hãy một số thay đổi
  3. git add foo/*.rb # Thêm tệp vào cam kết
  4. git commit -m "Made it more betta" # Thực hiện và mô tả các cam kết
  5. git push # Nhấn các thay đổi đối với một số mã chủ chính
      .210
    • Các push sẽ thất bại nếu bạn đằng sau những bậc thầy, trong trường hợp bạn phải đó:
      1. git pull # Tự động kết hợp những gì nó có thể, và cho thấy mâu thuẫn
      2. Thủ công khắc phục bất kỳ xung đột
      3. git add . # Thêm bất cứ điều gì là mâu thuẫn
      4. git commit -m "Merging with master"
      5. git push

Cũng giống như Mercurial bạn có thể lặp lại các bước 2-4 nhiều như bạn muốn; bạn không phải đẩy sau mỗi lần commit.

+0

Và có, ** kiểm tra! ** tại các vị trí thích hợp để đảm bảo các thay đổi của bạn hợp lệ. Nhưng đó là một phần của quy trình phát triển, không phải là luồng công việc kiểm soát nguồn. – Phrogz

+1

Alos lưu ý rằng bạn không nên đẩy vào một kho lưu trữ không trống. Xem http://stackoverflow.com/questions/1764380/push-to-non-bare-repository/1764793#1764793 và http://stackoverflow.com/questions/3067277/working-with-git-from-2-laptop -với-không-trần-repo – Rudi

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