2011-07-07 18 views
9

OK, vì vậy tôi có quá khứ tutorial introduction to git và tôi biết làm thế nào để:Git - Làm chủ ngữ

  • Tạo một đối tượng .git địa phương có sản phẩm nào cơ sở dữ liệu
  • Thêm các nội dung của toàn bộ thư mục làm việc hiện tại để nó
  • Commit việc bổ sung (s)
  • Tên chi nhánh
  • Tạo một kho lưu trữ từ xa
  • Đẩy branches.

Nhưng trải qua quá trình tìm hiểu ban đầu, tôi đã gặp phải nhiều cụm từ mới. Tôi cảm thấy rằng hiểu được ý nghĩa chính xác của những thuật ngữ này là rất quan trọng để không phạm sai lầm không thể đảo ngược khi làm việc với một dự án trực tiếp.

Bạn có thể giới thiệu một nguồn tốt cho có phương pháp học ý nghĩa của điều khoản quan trọng như origin, thạc sĩ, commit vs. push, refs, Thủ trưởng, tạo bản sao so với thanh toán, vv?

+1

Mọi sách/hướng dẫn (tốt) nên giải thích các điều khoản này ... –

Trả lời

4

Một thuật ngữ rất quan trọng để tìm hiểu trong một DVCS là thượng nguồn:
Xem "Definition of “downstream” and “upstream”"

Xét sự khác biệt của quy trình làm việc giữa một CVCS (Centralized VCS) and a DVCS (Distributed VCS), nó là chìa khóa để nhận ra bạn có repo của bạn so với nhiều " upstream "repos (từ đó bạn can fetch from).

Khái niệm khác để nắm bắt tốt là "rebase vs. merge".

+0

Vâng, tôi chỉ gặp điều này bây giờ và đã tự hỏi về sự khác biệt giữa 'upstream' và 'origin'. Cảm ơn! – WinWin

+0

@WinWin: ngược dòng đề cập đến một repo từ xa. ''origin'' là tên mặc định được gán cho tham chiếu đến repo từ xa mà bạn vừa nhân bản. Nhưng đây chỉ là quy ước đặt tên và bạn có thể đặt tên cho repo ngược dòng như bạn muốn khi nhân bản nó: 'git clone -o github' https://github.com/VonC/compileEverything sẽ sao chép repo GitHub của tôi và gọi nó là ' github '(nghĩa là tôi sẽ phải 'git push github master' thay vì' git push origin master'): trong trường hợp đó, tôi thấy nó mang tính biểu cảm hơn để đặt tên cho repo ngược dòng' github '(và không phải là' 'origin' 'mà là một chút chung chung). – VonC

9

originmaster không có ý nghĩa đặc biệt đối với Git, chúng chỉ là các quy ước. origin là repo "chính" từ xa (mặc dù thường xuyên, bạn sẽ có cả một originupstream; trước đây là bản sao của bạn, trong khi upstream là repo phổ biến của nhóm). master chỉ là tên chung cho nhánh chính. Tùy thuộc vào dự án, nó thường là nhánh phát triển nơi các tính năng beta được hợp nhất vào và các sửa lỗi được đẩy tới, mặc dù nó có thể là một nhánh phát hành với sự phát triển xảy ra ở nơi khác.

Cam kết và đẩy được giải thích tại câu hỏi bạn đã liên kết. Chỉ cần nhớ rằng, nếu bạn đang chuyển từ SVN sang Git, "push là cam kết mới" (để trích dẫn một đồng nghiệp của tôi).

Bạn không thực sự cần phải tìm hiểu những người khác "có phương pháp"; chỉ học bằng cách làm. Có quá nhiều để Git phải ghi nhớ từ một cuốn sách cho hầu hết những người chết. Phần mềm theo dõi phiên bản có mục đích cụ thể là làm cho các lỗi có thể đảo ngược; chỉ cần giữ nguyên --force, git resetgit rebase hiện tại.

+0

Đây là câu trả lời vô cùng hữu ích. Cảm ơn nhiều! (+1 tất nhiên) – WinWin

+0

Có, tôi đã cung cấp một vài liên kết giải thích một số thuật ngữ. Tôi đã làm như vậy bởi vì tôi muốn minh họa rằng tôi không đơn độc trong việc đối mặt với thử thách này khi đến từ một nền tảng VC khác nhau và cũng là một tham chiếu đến những người khác có thể đối mặt với cùng một điều sau tôi. :) – WinWin

+0

@WinWin: Tôi đã sử dụng Git thành công trong hơn một năm (chủ yếu từ dòng lệnh) nhưng tôi chỉ mới học được cách sử dụng 'cherry-pick' và' rebase' đúng cách.Tôi phải thừa nhận rằng tôi vẫn không biết chính xác những gì người đứng đầu và refs là, và tôi đã không bao giờ cảm thấy sự thôi thúc để tìm chúng. –

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