2010-04-04 28 views

Trả lời

54

Không phải mọi lệnh sẽ tự động hỗ trợ chạy khô trực tiếp.

  • git merge có its own option (git merge --no-commit --no-ff)
  • nhưng git pull does not really need it ('git fetch origin', sau đó một 'git log master..origin/master', trước khi một git merge origin/master)
    (nhưng git push có một lựa chọn khô-chạy)

J.C. Hamano summarizes:

Có những thứ không được thực hiện trong git vì chúng không làm cho cảm giác và có những thứ không được thực hiện trong git bởi vì không ai bị ngứa.
Để đặt nó theo cách khác, chúng tôi có xu hướng chỉ thực hiện những điều có thực tế, nhu cầu được chứng minh từ thế giới thực và chỉ khi việc bổ sung có ý nghĩa như là một phần mạch lạc của hệ thống.


iboisver nhận xét:

Một điều cần phải nhận thức được rằng các lệnh như git addgit rm cho phép tùy chọn -n dòng lệnh để chỉ định chạy khô, trong khi ở git commit, các -n tùy chọn có nghĩa là một cái gì đó hoàn toàn khác nhau.
Vì vậy, hãy chắc chắn kiểm tra người đàn ông trang

git commit -n:

-n 
--no-verify 

Tùy chọn này bỏ qua các móc pre-cam kết và cam kết-msg. Xem thêm githooks(5).

+2

Một điều cần lưu ý là các lệnh như 'git-add' và' git-rm' cho phép tùy chọn dòng lệnh _-n_ chỉ định chạy khô, trong 'git-commit', tùy chọn _-n_ một cái gì đó hoàn toàn khác. Vì vậy, hãy chắc chắn để kiểm tra trang người đàn ông. – iboisver

+1

@iboisver phản hồi thú vị, cảm ơn bạn. Tôi đã bao gồm bình luận của bạn trong câu trả lời cho khả năng hiển thị nhiều hơn. – VonC

8

Mặc dù không phải lúc nào cũng có cờ --dry-run cho mỗi nhận xét, thường có các từ tương đương. Ví dụ: this previous question hiển thị những việc cần làm cho git merge.

+0

không có chữ nào cho 'rebase', ví dụ. – gcb

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