2013-07-23 16 views
40

GitHub có tính năng chỉnh sửa tệp dựa trên Web tốt. Tuy nhiên, có vẻ như sau khi chỉnh sửa một tệp, tôi phải cam kết các thay đổi cho tệp này trước khi tiếp tục. Có cách nào tôi có thể chỉnh sửa hai hoặc nhiều tập tin sau đó thực hiện một cam kết cho tất cả những thay đổi của chúng?Tôi có thể chỉnh sửa hai tệp sau đó thực hiện một cam kết bằng trình soạn thảo dựa trên GitHub Web không?

Tôi nghĩ điều này sẽ tốt hơn vì quá nhiều cam kết không cần thiết gây phiền nhiễu.

+0

Nếu GitHub [muốn đi chính thống] (http://readwrite.com/2013/11/18/github-tom-preston-warner#awesm=~owdUt7KDZm0Qal) , họ nên thực hiện tốt hơn toàn bộ giao diện Git trên web cho những người không biết bash. –

Trả lời

0

Bạn có thể chỉ cần ngã ba kho lưu trữ và sao chép nó với git vào máy cục bộ, thay đổi số lượng tệp bạn thích và sau đó tạo một cam kết.

2

Luồng web GitHub hỗ trợ một tệp cho mỗi lần commit. Để thêm nhiều tệp vào một cam kết duy nhất, bạn sẽ cần sao chép kho lưu trữ cục bộ, chỉnh sửa tệp, sau đó cam kết và đẩy.

Các dòng lệnh sẽ là như thế này:

  1. cd vào thư mục

  2. Stage tất cả các file sửa đổi với

    git add <file-1> <file-2> <etc> 
    
  3. Cam kết với

    git commit -m'<your-message> 
    

    hoặc nếu bạn muốn khởi chạy một biên tập viên bên ngoài

    git commit 
    
  4. Gửi lịch sử/cam kết với

    git push 
    
+11

Tôi đã học cách cam kết và đẩy sau khi nhân bản repo cho địa phương.Tuy nhiên, như đã nêu trong câu hỏi, tôi liên quan đến trình soạn thảo ** dựa trên web **, vì đôi khi tôi chỉ muốn làm những việc trong Google Chrome của mình. Sẽ rất tuyệt nếu họ hỗ trợ nhiều hơn một tệp trong Luồng Web GitHub. – shengbinmeng

24

Có một workaround dựa trên web:

  1. Tạo một nhánh tạm thời, chuyển sang nó;
  2. Chỉnh sửa nhiều tệp, cam kết từng tệp riêng lẻ;
  3. Thực hiện yêu cầu kéo;
  4. Yêu cầu kéo hợp nhất và xóa nhánh tạm thời.

Tôi sử dụng phương pháp này trên PC mà tôi không muốn cài đặt git.

+5

Nó hoạt động rất tốt. Chỉ cần một điều quan trọng, khi bạn xác thực và hợp nhất yêu cầu kéo, hãy đảm bảo chọn ** Xác nhận Squash và Merge ** và không xác nhận Hợp nhất (mặc định). https://help.github.com/articles/about-pull-request-merge-squashing/ –

+0

Bạn có thể mở rộng trên các bước 3 và 4 không? Tôi muốn chỉnh sửa 2 tập tin trong ngã ba của một repo, sau đó gửi một PR với chỉ một cam kết với hai chỉnh sửa. Làm thế nào tôi có thể thực hiện một yêu cầu kéo (chống lại ngã ba của tôi?) Và hợp nhất nó? Tôi không có quyền ghi vào repo gốc. –

+2

1. Tạo ngã ba và nhánh tạm thời của bạn. 2. Chỉnh sửa tệp trên nhánh tạm thời. 3.1. Squash cam kết với chi nhánh chính của bạn. 3.1.1. Trên nhánh tạm thời, nhấn "create pull request" và đảm bảo rằng 'base' là master của bạn. Tạo yêu cầu kéo 'cục bộ'. 4. Nhấn "yêu cầu kéo hợp nhất" và điền thông báo cam kết. Nhấn nút màu xanh lá cây "Xác nhận squash và hợp nhất". Bây giờ bạn có cam kết duy nhất với 2 tập tin đã chỉnh sửa trên 'chủ' của bạn. 5. Để truyền yêu cầu kéo đến xuất xứ, hãy tạo yêu cầu kéo và chỉ định repo gốc làm 'cơ sở'. Khi yêu cầu kéo được tạo, tác giả sẽ có thể xem xét và hợp nhất các thay đổi của bạn. –

0

Phụ Lục với những gì @VictorIstomin và @MarCnu đã nói:

Nếu bạn muốn chỉnh sửa một số tên tập tin thay vì nội dung của các tập tin, bạn chỉ cần làm theo hướng dẫn mà Victor đặt ra, nhưng bạn sẽ không phải "Xác nhận Squash và Merge". Bạn có thể chỉ cần nhấn "Xác nhận hợp nhất" (do đó bạn không thể chỉnh sửa nội dung tệp.)

Câu hỏi đã được trả lời rất tốt, chỉ muốn làm rõ điều này cho bất kỳ người xem nào trong tương lai có thể đang thay đổi tên tập tin, đó là điều tôi thường làm trong GitHub

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