2016-09-12 22 views
23

Tôi có 3 tệp đã sửa đổi (không có tệp mới) trong yêu cầu kéo tại thời điểm này.Xóa tệp đã sửa đổi khỏi yêu cầu kéo

Tôi muốn xóa một trong các tệp đó khỏi yêu cầu kéo, do đó yêu cầu kéo chỉ chứa các thay đổi đối với hai tệp và để nguyên thứ ba ở trạng thái ban đầu, không bị ảnh hưởng của nó.

Tôi đã thử một vài điều (kiểm tra phiên bản gốc của tệp, v.v.) nhưng vẫn hiển thị dưới dạng tệp đã thay đổi trong PR.

Có giải pháp cho điều này không?

+0

Nếu sửa đổi s vào tập tin nằm trong (các) cam kết của riêng họ, bạn có thể thực hiện việc rebase tương tác và xóa (các) commit ảnh hưởng đến tập tin bạn muốn không thay đổi, và sau đó thực hiện một lực đẩy tới nhánh của bạn. Github sẽ tự động phát hiện điều đó. – Dentych

Trả lời

0

Yêu cầu kéo chỉ là: yêu cầu hợp nhất một chi nhánh này với chi nhánh khác.

Yêu cầu kéo của bạn không "chứa" bất cứ điều gì, nó chỉ là một điểm đánh dấu nói "hãy hợp nhất nhánh này vào nhánh đó".

Tập hợp các thay đổi mà PR hiển thị trong giao diện người dùng web chỉ là những thay đổi giữa chi nhánh mục tiêu và chi nhánh tính năng của bạn. Để sửa đổi yêu cầu kéo của bạn, bạn phải sửa đổi nhánh tính năng của mình, có thể với lực đẩy tới nhánh tính năng.

Trong trường hợp của bạn, có thể bạn sẽ muốn sửa đổi cam kết của mình. Không chắc chắn về tình hình chính xác của bạn, nhưng một số kết hợp của rebase tương tác và add -p nên sắp xếp bạn ra ngoài.

3

Bạn sẽ muốn sửa đổi cam kết và sau đó thực hiện một lực đẩy sẽ cập nhật chi nhánh với PR.

Đây là cách tôi khuyên bạn nên làm điều này:

  1. Đóng PR để bất cứ ai đang xem xét nó không kéo nó cho đến khi bạn đã thực hiện những thay đổi của bạn.
  2. Thực hiện khôi phục cài đặt gốc trước khi thay đổi không mong muốn (nếu đây là lần commit cuối cùng bạn có thể sử dụng git reset --soft HEAD^ hoặc nếu đó là một cam kết khác, bạn sẽ muốn thay thế 'HEAD ^' bằng id cam kết)
  3. Hủy (hoặc undo) bất kỳ thay đổi các tập tin mà bạn không có ý định để cập nhật
  4. Thực hiện một cam kết mới git commit -a -c ORIG_HEAD
  5. Force Push to chi nhánh của bạn
  6. Re-Open Kéo Yêu cầu

tại đó chi nhánh của bạn đã vi được cập nhật, Yêu cầu kéo sẽ bao gồm các thay đổi của bạn.

Here's liên kết tới tài liệu Gits nơi chúng có ví dụ khá hay dưới Hoàn tác cam kết và làm lại.

33

Chuyển sang chi nhánh từ mà bạn đã tạo yêu cầu kéo:

$ git checkout pull-request-branch 

Ghi đè lên tập tin sửa đổi (s) với các tập tin trong một chi nhánh khác, chúng ta hãy xem xét nó chủ:

git checkout origin/master -- src/main/java/HelloWorld.java 

Cam kết và đẩy nó vào điều khiển từ xa:

git commit -m "Removed a modified file from pull request" 
git push origin pull-request-branch 
+0

Không làm việc cho tôi thấy lỗi: pathspec '{file/path.js}' không khớp với bất kỳ tệp nào đã biết đến git. – raftaar1191

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