Tải xuống yêu cầu kéo Github dưới dạng khác biệt


276

Làm cách nào tôi có thể tải xuống các thay đổi có trong yêu cầu kéo Github dưới dạng khác biệt thống nhất?


Thông thường, liên kết bản vá PR được gửi đến người, người chấp nhận PR.
kenorb

Điều này chưa được triển khai trong GitLab , nhưng tôi đã tạo một yêu cầu tính năng vì vậy vui lòng thêm phiếu bầu của bạn vào đó.
colan

Câu trả lời:


484

Để xem một cam kết dưới dạng tệp diff / patch, chỉ cần thêm .diffhoặc .patchvào cuối URL, ví dụ:


13
Cảm ơn rất nhiều. Và cũng có .patch. Tại sao điều này không được tiếp xúc trong GUI? Làm thế nào là một người phải khám phá điều này?
Thilo

44
Nó không được ghi nhận để giữ stackoverflow trong kinh doanh. Thành thật mà nói, đó là Câu hỏi thường gặp # 2
sehe

Cũng bởi vì git pulllà phương pháp ưa thích để tải xuống và áp dụng các thay đổi.
Tekkub

Ooooh, cảm ơn, câu trả lời này có giá trị vàng. (Điều đó cũng viết blog.) Tôi tự hỏi làm thế nào bất cứ ai có thể làm việc mà không có điều đó, và tại sao nó không được hiển thị trong giao diện người dùng Web đủ xảo quyệt.
mirabilos

8
Đánh giá xem những gì trả về và các liên kết trong tài liệu tại developer.github.com/v3/media/iêu , .diffURL cung cấp một khác biệt thẳng cho nhánh mặc định dựa trên đầu ra git-diff git-scm.com/docs/git-diff , và .patchURL cung cấp kết nối các cam kết riêng lẻ trong PR (mỗi liên quan đến cam kết gốc của chúng) theo định dạng phù hợp để gửi email dựa trên đầu ra git-format-patch git-scm.com/docs/git-format-patch .
rakslice

49

Một phần nào đó có liên quan, để cho phép git tải xuống yêu cầu kéo 123 và vá nó vào mylocalbranchcục bộ, hãy chạy:

git checkout -b mylocalbranch
git pull origin pull/921/head

10
Hoặc để nhận yêu cầu kéo vào một nhánh PR mới git fetch origin pull/921/head:PRvà sau đó hợp nhất với chi nhánh hiện tại của bạn, cho bạn cơ hội để xem xét các thay đổi git merge PR --no-commit --no-ff
MoonStom


Điều này đòi hỏi bạn phải thiết lập Git với thông tin đăng nhập của bạn. Bạn không thể kiểm tra ẩn danh một thay đổi được đề xuất (như bạn có thể bằng cách áp dụng khác biệt bằng tay). Một trường hợp khác của Git thực hiện một quy trình công việc đơn giản và gây khó khăn.
18 giờ 39 phút

2

Để có được các thay đổi PR vào repo cục bộ của bạn ở trạng thái được tổ chức nhưng không được cam kết, vì vậy bạn có thể xem lại:

git pull origin pull/123/head --no-commit

Và để tạo một tệp vá từ đó:

git diff --cached > pr123.diff    
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.