Đây sẽ là một điều dài nhưng tôi hy vọng bạn có thể chịu đựng với tôi.Tại sao git để lại các tệp đã sửa đổi nằm xung quanh? Làm cách nào tôi có thể điều chỉnh quy trình làm việc của mình để làm tốt hơn?
Tôi đang cố gắng sử dụng git để đặt mã nguồn của nhóm của tôi dưới sự kiểm soát phiên bản. Sau khi cố gắng tìm các cách tiếp cận khác nhau có thể làm việc cho tôi, cuối cùng tôi đã quyết định sử dụng tính năng git format-patch
. FWIW, sản phẩm là một ứng dụng web ASP.NET chạy trong Windows và tôi hiện đang sử dụng msysgit.
Bối cảnh:
Tôi có máy chủ dàn dựng (máy chủ sản xuất gương) chứa tất cả các tệp aspx. Sau đó tôi tạo một repo git bằng cách sử dụng init-db bên trong thư mục gốc của tôi và đã thực hiện git add .
để theo dõi tất cả các tệp.
Để tôi có bản sao cục bộ trên máy tính xách tay của mình, tôi đã nén thư mục ".git" từ máy chủ dàn dựng và FTP vào máy cục bộ của tôi. Đổi tên nó thành "staging.git" và đã làm một số git clone staging.git webappfolder
để làm phát triển của tôi chống lại.
Sau khi thực hiện 2 cam kết cho đối tượng feature1 và feature2, đã đến lúc áp dụng các thay đổi trở lại máy chủ dàn dựng. Tôi đã thực hiện một git format-patch -2
kết quả đầu ra cho các tệp 0001blah.patch
và 0002blah.patch
.
Hai tệp bản vá này sau đó được gửi tới máy chủ dàn dựng và tôi đã thực hiện một máy chủ dàn dựng tự động git am 0001blah.patch
. Thực hiện git log
cho thấy cam kết đã được thực hiện. Nhưng khi tôi làm một số git status
, nó hiển thị Changed but not updated: modified: file1.aspx
.
Điều đó có nghĩa là gì? Tôi cũng đã thử làm một số git apply 0001blah.patch
nhưng tất cả những gì tôi nhận được là error" patch failed: file1.aspx: patch does not apply
.
Có sự cố với quy trình làm việc của tôi không? Bất kỳ thông tin chi tiết nào liên quan đến cách thức thích hợp hoặc trợ giúp sẽ cực kỳ hữu ích. Một lần nữa, mô hình vá lỗi sẽ là khả thi nhất đối với chúng tôi ngay bây giờ vì chúng tôi sẽ không sớm thiết lập máy chủ SSH.
"Git áp dụng sẽ chỉ" ... "sẽ chỉ là những gì"? ;) – VonC
Cảm ơn SiitheMoose, sau khi thử ví dụ của bạn và không nhận được lỗi, tôi bắt đầu tự hỏi có gì sai với các tệp nguồn của mình. Điều đó nhắc tôi chỉnh sửa lại kết thúc dòng của mình và thực hiện tác vụ "git am" không có lỗi. Tôi đang đánh dấu câu trả lời này đúng vì đề xuất của bạn hoạt động cho môi trường dàn dựng của tôi. – Ghazaly
Kiểm tra và mô tả tuyệt vời. +1 – VonC