Có thể thực hiện "hợp nhất git", nhưng không có cam kết?git hợp nhất mà không cần cam kết tự động
"người đàn ông git merge" nói này:
With --no-commit perform the merge but pretend the merge failed and do not autocommit,
to give the user a chance to inspect and further tweak the merge result before
committing.
Nhưng khi tôi cố gắng sử dụng git hợp nhất với --no-cam kết nó vẫn tự động cam kết. Dưới đây là những gì tôi đã làm:
$> ~/git/testrepo$ git checkout master
Switched to branch 'master'
$> ~/git/testrepo$ git branch
* master
v1.0
$> ~/git/testrepo$ git merge --no-commit v1.0
Updating c0c9fd2..18fa02c
Fast-forward
file1 | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
$> ~/git/testrepo$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
nothing to commit (working directory clean)
"git log" tiếp theo cho thấy tất cả các cam kết từ nhánh v1.0 được hợp nhất thành chính.
nếu có một sự nhầm lẫn. – Michelle
@PineappleUndertheSea Tiền đạo nhanh không bao giờ gây xung đột. Trong trường hợp hợp nhất "thực" mà không có chuyển tiếp nhanh thì công tắc '--no-commit' chỉ có hiệu lực nếu không có xung đột xảy ra, trong trường hợp xung đột git sẽ không bao giờ tự động cam kết. – gronostaj
FYI: Nếu bạn muốn hợp nhất các thay đổi và sau đó cam kết _as nếu bạn đã nhập thủ công tất cả các thay đổi bạn đã hợp nhất in_ (trái ngược với kết hợp truyền thống), bạn cần chạy 'rm.git/MERGE_HEAD' sau đó, sẽ buộc git quên rằng hợp nhất đã xảy ra. – Jonn