2013-04-04 39 views
5

Tôi vẫn đang vật lộn với Git.Chuyển đổi Git so với Checkout trong Netbeans

Vấn đề là:

Chúng tôi là một hai người làm việc trên một dự án.

Tôi đã tạo một chi nhánh mới trong tổng thể được gọi là mối quan hệ.

Bây giờ bạn tôi đã cập nhật bản gốc nhưng cần tôi sửa một số lỗi trên đó.

Khi tôi chuyển sang nhánh trong Netbeans, nó cung cấp cho tôi tất cả các thay đổi "quan hệ" của tôi và muốn tôi cam kết.

Đó không phải là những gì tôi đang tìm kiếm!

Netbeans trang web nói với tôi này [Chuyển đến chi nhánh]:

Switch to Branch 
Actor: User 

Action: User wants to switch to a branch (see also Checkout) 

"Priority:" 1 

Scenario: 

User selects a versioned context and invokes 'switch branch' from the main menu 
User specifies the branch and additional options - keep local changes etc. 
The working tree is switched to the specified branch 

và [Thanh toán]:

Thanh toán

Actor: User 

Action: User wants to checkout a specific revision/tag/branch 

"Priority:" 1 

Scenario: 

User selects a a versioned context and invokes 'chekout' from the main menu 
User specifies the revision/tag/branch to checkout 
The working tree will be switched to the specified revision 

Tôi nhận được một nhức đầu từ GIT!

Vậy sự khác biệt giữa hai loại này là gì?

Tôi cần ai đó có thể chuyển sang nhánh [Chính] và sau đó cập nhật các lỗi và sau đó chuyển về nhánh [Quan hệ] của tôi mà không yêu cầu tôi cam kết thay đổi từ [Quan hệ] khi tôi bật các [Master] chi nhánh

+0

bây giờ có rõ ràng hơn không? – Muqito

+0

Vì vậy, "git switch" không phải là một hoạt động git, đó phải là một số thuật ngữ git của Netbeans. –

+1

Tôi đã không chạm vào netbeans nhưng những gì bạn đang tìm kiếm là tương đương với 'git stash' theo sau là một' git checkout'. Chuyển đổi của Netbeans dường như cố gắng để bật các thay đổi địa phương trên đầu trang của các chi nhánh vừa được kiểm tra ra - tránh rằng –

Trả lời

4

sự khác biệt giữa "swtich Chi nhánh" và "Thanh toán" là bản chất của những gì bạn có thể kiểm:

  • "Chuyển đổi Chi nhánh": bạn kiểm chỉ là một chi nhánh
  • "Checkout ": bạn thanh toán mọi tham chiếu <tree-ish> (nghĩa là cam kết, thẻ hoặc cây)

Trong khi vẫn còn trên relation, bạn cần phải:

  • hoặc Add sau đó commit sửa đổi hiện tại của bạn
  • hoặc stash hiện tại của bạn không cam kết sửa đổi

Sau đó, với một rõ ràng cây làm việc, bạn có thể switch branch.

Xem Netbeans User Guide on Checkout

Note: Nếu bạn muốn chuyển các file của bạn vào một chi nhánh đó đã tồn tại (ví dụ, Đến một cam kết mà không phải là ở phía trên cùng của một trong những chi nhánh của bạn), bạn có thể:

  • sử dụng lệnh Team > Git > Branch > Switch To Branch,
  • xác định chi nhánh tại các Switch to Selected Branch hộp thoại,
  • check it out như một chi nhánh mới (tùy chọn),
  • và nhấn Chuyển đổi.
+0

Ý của bạn là "Thanh toán": bạn thanh toán mọi tham chiếu (nghĩa là cam kết, thẻ hoặc cây) " – Muqito

+0

@MaggiQall Tôi có nghĩa là, trái với" Chuyển sang nhánh ", bạn có thể kiểm tra các tham chiếu khác ngoài chi nhánh. Bạn có thể kiểm tra một cam kết hoặc một thẻ (mà bạn không thể làm với "Chuyển sang Chi nhánh", nơi bạn thanh toán * chỉ * một chi nhánh). Tất nhiên, thanh toán một cam kết hoặc một thẻ sẽ để lại cho bạn trong một chế độ HEAD mở (http://stackoverflow.com/questions/3965676/why-did-git-detach-my-head/3965714#3965714). Vì vậy, trong trường hợp của bạn, "Chuyển sang nhánh" là an toàn hơn. – VonC

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