2013-02-12 26 views
5

Tôi có một bậc thầy repo và tôi làm với file1.txt và file2.txtTại sao tôi không phải cam kết sau khi git merge

git checkout -b fix1 

sau đó tôi thay đổi file1.txt

và tôi làm một

git commit -a 

sau đó tôi làm một

git checkout master 

Sau đó tôi làm một

git checkout -b fix2 

sau đó tôi thay đổi file2.txt

và tôi làm một

git commit -a 

sau đó git checkout master sau đó một

git merge fix1 
git marge fix2 

nhưng nếu tôi làm một

commit -a 

tôi nhận được

 
# On branch master 
nothing to commit (working directory clean) 

Trả lời

8

git merge tự động cam kết. Nếu bạn không muốn cam kết thêm đối số --no-commit:

--commit, --no-commit 
     Perform the merge and commit the result. This option can be used to override --no-commit. 

     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. 
3

Nếu việc hợp nhất thành công không có xung đột, git sẽ tự động cam kết đó (mà bạn sẽ có thể xác minh bằng cách đơn giản kiểm tra git log).

The documentation notes (nhấn mạnh thêm):

... "git merge chủ đề" sẽ phát lại những thay đổi được thực hiện trên các chi nhánh chủ đề vì nó tách ra từ tổng thể (ví dụ, E) cho đến khi hiện nay cam kết (C) trên đầu trang của thầy, và ghi lại kết quả trong một mới cam kết cùng với tên của hai mẹ cam kết và nhắn tin đăng nhập từ người dùng mô tả những thay đổi

Nếu bạn muốn tránh điều này, sử dụng --no-commit cờ:

git merge --no-commit fix1 
1

Các tập tin sáp nhập, mà không có xung đột đã được sáp nhập. Bạn có thể trực tiếp đẩy các tệp đã hợp nhất của mình.

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