Tôi muốn một số phản hồi về luồng công việc của tôi vì đây là lần đầu tiên tôi sử dụng nó và mặc dù đọc các bài viết khác nhau và câu hỏi Stack Overflow, tôi không chắc chắn rằng quy trình của tôi là chính xác. Đây là quy trình công việc hiện tại của tôi (lưu ý rằng tôi đang sử dụng ứng dụng Github cho Windows cho tất cả các tương tác git của tôi):Quy trình làm việc Github dành cho nhà phát triển đơn
- Quyết định tính năng tiếp theo là tôi sẽ triển khai.
- Tạo chi nhánh có tên mô tả phù hợp cho đối tượng địa lý. Tôi làm điều này bằng cách nhấp vào nút nhánh trong Github cho Windows và nhập tên mới.
- Viết một số mã.
- Cam kết những thay đổi đó đối với chi nhánh mới của tôi.
- Viết một số mã khác.
- Cam kết những thay đổi đó đối với chi nhánh mới của tôi.
- Tôi đã hoàn tất việc triển khai tính năng này vì vậy tôi muốn hợp nhất các thay đổi của mình về chi nhánh chính. Vì vậy, tôi nhấp vào nút 'quản lý' bên dưới tiêu đề chi nhánh.
- Hợp nhất chi nhánh mới vào nhánh chính.
- Xóa chi nhánh mới.
Tôi khá hài lòng với quy trình này cho đến bước 7 tại thời điểm đó, tôi hơi bối rối. Tôi nghĩ rằng sự nhầm lẫn của tôi nằm trong thực tế là tôi đang cố gắng sử dụng ứng dụng Github cho Windows thay vì sử dụng dòng lệnh. Ứng dụng dường như làm mọi việc dễ dàng hơn nhưng có một chút ngắt kết nối trong sự hiểu biết của tôi giữa một số lệnh/hướng dẫn mà tôi đã đề cập và các hành động bạn sẽ thực hiện trong ứng dụng.
Hãy để tôi hỏi một số câu hỏi cụ thể:
- là công việc của tôi thực sự đúng? Nếu không, có gì sai với nó và làm thế nào tôi có thể cải thiện nó?
- Tôi có nên "xuất bản" các thay đổi của mình cho chi nhánh mới không? Sự hiểu biết của tôi là điều này tương đương với việc thực hiện
git push
tại dòng lệnh. Điều đó có đúng không? Nếu vậy tôi nghĩ rằng tôi sẽ chỉ muốn làm điều đó khi tôi hoặc là hoàn thành việc thực hiện các tính năng hoặc nó ở trong trạng thái tốt? - Tôi có nên xóa chi nhánh khi tôi đã hợp nhất nó vào nhánh chính hoặc nó sẽ bị bỏ quên mãi mãi không?
- Tôi có cần xuất bản nhánh chính khi tôi đã hoàn thành việc hợp nhất hoặc là nội dung ẩn này không?
- Tôi đôi khi không thể thực hiện việc hợp nhất và nhận được thông báo lỗi này:
Không thể sáp nhập
Không thể sáp nhập 'test' vào 'thầy'. Bạn có thể cần phải mở một trình bao và gỡ lỗi trạng thái của repo này.
Khi điều này xảy ra trước đây, tôi đã có thể chuyển sang chi nhánh tổng thể và hợp nhất các chi nhánh mới vào ngành thạc sĩ tuy nhiên rằng không có công trình dài hơn. Cho dù chi nhánh nào tôi đang ở, tôi không thể hợp nhất hai nhánh. Cả hai đều đồng bộ và tôi đã xuất bản tất cả các thay đổi từ nhánh thử nghiệm của tôi. Tôi nên gõ gì vào trình bao để tìm hiểu lý do tại sao tôi không thể hợp nhất các nhánh?
Để tham khảo, đây là những liên kết chính đã nhắc quá trình của tôi:
- Scott Chacon on the workflow at Gitub
- Git workflow for a single developer on a local repository
- Git workflow for a single user
Cảm ơn - rất tốt khi biết tôi đang đi đúng hướng! Tôi vẫn còn một chút bối rối bởi các chi nhánh mặc dù và tôi nghĩ rằng đó là nơi đau đầu sáp nhập của tôi đến từ. Khi tôi tạo một nhánh mới trong Github cho Windows, tôi có nên tạo một thư mục mới ở đâu đó không? Bởi vì nếu không thì tôi không chỉ chỉnh sửa mã trong nhánh chính của mình? – Stu
Git lưu trữ mọi thứ trong một loạt các vùng đồng bằng trong thư mục .git. Vì vậy, khi bạn tạo một nhánh mới, nó giống như bạn đang làm việc trên một bản sao của nhánh master/nhân bản của bạn. Nhưng tất cả trong cùng một thư mục (cam kết một số thay đổi và lật nhánh và mở lại tệp của bạn để xem). Theo dõi chi nhánh nào bạn đã kiểm tra, vì có thể dễ dàng bắt đầu viết nhiều thứ, quên bạn không chuyển nhánh và bạn kết thúc bằng master thay vì chi nhánh tính năng của bạn. Đó là nơi stashes đến rất tiện dụng. – yellottyellott
Xin lỗi vì đã không chấp nhận điều này như câu trả lời cho câu hỏi của tôi sớm hơn, một số cách tôi dường như đã bỏ lỡ nhận xét cuối cùng của bạn đã trả lời tất cả các câu hỏi của tôi. Cảm ơn rất nhiều! – Stu