2010-06-09 50 views
15

Tôi là một cửa hàng người đàn ông phát triển một số ít ứng dụng và trang web dành cho máy tính để bàn. Tôi bắt đầu sử dụng GIT để kiểm soát phiên bản cách đây vài tháng, và tôi khá hài lòng với nó, nhưng việc sử dụng của tôi khá vụng về và tôi tự hỏi luồng công việc nên là gì đối với một người dùng.Luồng công việc Git cho một người dùng

Ngay bây giờ, tôi có thư mục .git trong mỗi thư mục dự án của mình. Tôi cam kết thay đổi của tôi mỗi lần một lần và tôi chỉ tiếp tục làm việc trên bản sao làm việc.

Tôi không bao giờ lấy bất kỳ thứ gì từ kho Git (bản sao làm việc vẫn ở đó, nó sẽ bị Git ghi đè?), Và tôi không chắc chắn điều gì sẽ xảy ra nếu tôi tạo chi nhánh (Nhánh được tạo ở đâu? Cùng một thư mục?)

Nói cách khác, tôi đang sử dụng Git chủ yếu để thấy sự khác biệt với các phiên bản cũ khi cần, trong khi vẫn làm việc theo cách cũ.

Tốt và thậm chí thiết lập cơ bản như thế này vẫn có lợi thế, nhưng tôi cảm thấy rằng tôi đang thiếu điểm.

Quy trình làm việc sẽ như thế nào đối với cửa hàng một người?

+1

Đối với một người dùng, git rất hữu ích cho phát triển đa nền tảng (ví dụ: bạn phát triển và xây dựng trên Windows và Linux). Ngoài ra nếu bạn có nhiều hơn một máy tính, thật dễ dàng để đồng bộ hóa mã nguồn. – anno

Trả lời

12

tôi không bao giờ kéo bất cứ điều gì từ kho Git (bản sao làm việc vẫn là ở đó, nó sẽ bị ghi đè bằng Git?),

Với git, các "bản sao làm việc" một kho lưu trữ! Lệnh "kéo" là để kéo các thay đổi từ kho khác. Là một nhà phát triển duy nhất bạn không cần nó.

và tôi không hoàn toàn chắc chắn những gì sẽ xảy ra nếu tôi tạo ra một chi nhánh (trường hợp là chi nhánh tạo? Cùng thư mục?)

Trong kho địa phương của bạn, vâng.

Tốt và thậm chí thiết lập cơ bản như thế này vẫn có lợi thế, nhưng tôi cảm thấy rằng tôi đang thiếu điểm.

Hầu hết các tính năng "mới thú vị" của git được hướng tới cộng tác. Hãy nhớ rằng nó đã được phát triển để hỗ trợ sự phát triển của hạt nhân Linux, nơi hàng trăm người đóng góp và đơn giản theo dõi và sáp nhập các cam kết là một công việc toàn thời gian. Một số tính năng hữu ích khá nhiều chỉ trong một kịch bản cực đoan như vậy.

Nhưng cũng có một số lợi thế lớn cho các nhà phát triển đơn lẻ.

Quy trình làm việc sẽ như thế nào đối với cửa hàng một người?

Luồng công việc hiện tại của bạn là OK (giả sử bạn thực hiện sao lưu thường xuyên; một kho lưu trữ từ xa có thể phục vụ mục đích). Nó có thể được cải thiện bằng cách sử dụng feature branches. Điều này cho phép lịch sử phiên bản của bạn được sạch hơn khi bạn làm việc trên nhiều thứ cùng một lúc (và đôi khi có thể ngăn ngừa những lỗi nghiêm trọng).

Tính năng git có liên quan, rất hữu ích là the stash.

+0

Ah, tôi hiểu rồi. Tôi nghĩ kho lưu trữ là nội dung của thư mục .git. Cảm ơn lời giải thích. – Sylverdrag

+0

@Sylverdrag: thư mục .git là nơi git lưu giữ tất cả dữ liệu về các cam kết, các nhánh, v.v., vì vậy người ta có thể coi nó là "kho lưu trữ" trong khi phần còn lại của thư mục đại diện cho "bản sao làm việc". Nhưng hầu hết người dùng không tạo ra sự khác biệt này. –

0

Tôi nghĩ cho mục đích của bạn chính xác cách bạn sử dụng nó là tốt. Các chi nhánh được tạo trong cùng một kho lưu trữ như bản sao làm việc của bạn.

Có thể bạn nên cân nhắc tạo một số bản sao lưu dự phòng cho các dự án git của mình sang một máy khác. Sau đó, bạn có thể chỉ cần đẩy các thay đổi của bạn ở đó và không mất công việc của bạn nếu máy tính của bạn bị treo.

0

tôi không bao giờ kéo bất cứ điều gì từ kho Git

clone/pull/push lệnh là để tương tác với các hợp đồng mua ohter (ví dụ Repos trong dir khác sử dụng tập tin git: // protocol)
lẽ đó là những gì bạn đang thiếu ở đây (ví dụ nhập khẩu các bộ phận của repo git khác của bạn, bắt đầu dự án mới dựa trên repo khác và như vậy)

woul d nó bị Git ghi đè?

Hầu như mọi thứ trong git đều có thể được khôi phục. Chỉ cần một điều kiện: bạn nên đã được cam kết trước đó. Vì vậy, cam kết sớm, cam kết thường xuyên và sẽ ổn thôi.

và tôi không hoàn toàn chắc chắn điều gì sẽ xảy ra nếu Tôi tạo ra một chi nhánh (ở đâu chi nhánh tạo? Cùng thư mục?)

Chi nhánh chỉ là một cụ thể cam kết. Vì vậy, nó được tạo ra nơi tất cả các cam kết của bạn.

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