Tôi đã sử dụng git checkout -b
để tạo ra một chi nhánh mới. Tôi nghĩ rằng điều đó git branch
làm điều tương tự. Làm thế nào để hai lệnh này khác nhau, nếu chúng khác nhau?
Tôi đã sử dụng git checkout -b
để tạo ra một chi nhánh mới. Tôi nghĩ rằng điều đó git branch
làm điều tương tự. Làm thế nào để hai lệnh này khác nhau, nếu chúng khác nhau?
Câu trả lời:
git checkout -b BRANCH_NAME
tạo một nhánh mới và kiểm tra nhánh mới trong khi git branch BRANCH_NAME
tạo một nhánh mới nhưng để bạn trên cùng một nhánh.
Nói cách khác, những git checkout -b BRANCH_NAME
điều sau đây cho bạn.
git branch BRANCH_NAME # create a new branch
git checkout BRANCH_NAME # then switch to the new branch
git branch
tạo chi nhánh nhưng bạn vẫn ở chi nhánh hiện tại mà bạn đã kiểm tra.
git checkout -b
tạo một nhánh và kiểm tra nó
Nó có thể được coi là một hình thức ngắn của:
git branch name
git checkout name
git branch
: Hiển thị tất cả các chi nhánh của bạngit branch newbranch
: Tạo một chi nhánh mớigit checkout -b newbranch
: Tạo một nhánh mới và chuyển sang nhánh đó ngay lập tức. Điều này giống như git branch newbranch
tiếp theo git checkout newbranch
.Ngoài ra còn có một lá cờ khác để đề cập, liên quan đến những điều này ..
git checkout -B BRANCH_NAME
Đây là một lệnh rất hữu ích mà tôi đã sử dụng gần đây. Lệnh này kiểm tra nhánh bạn chỉ định và đặt lại nhánh dựa trên nhánh nguồn.
If -B is given, <new_branch> is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of $ git branch -f <branch> [<start point>] $ git checkout <branch>
checkout -B
nguy hiểm không nếu chi nhánh bạn chuyển sang được chia sẻ bởi những người khác? Tôi đã sử dụng điều này gần đây và nó dường như tự động hợp nhất trong các thay đổi trong chi nhánh khác của tôi với chi nhánh tôi chuyển sang.
git checkout -B
thì có, nó sẽ hợp nhất hoặc thậm chí có thể thay thế
Có các hình thức của cả hai lệnh tương tự nhau (nhìn vào tài liệu git-scm Phiên bản 2.11.1):
git branch <branchname> <start-point>
và
git checkout -b <new_branch> <start_point>
Cái sau thực thi lệnh nhánh trước rồi thêm thanh toán. Trong mẫu đó tham chiếu rõ ràng đến tài liệu của git-Branch:
Chỉ định -b làm cho một nhánh mới được tạo như thể git-nhánh [2] được gọi và sau đó kiểm tra
Bản chất :
Nhánh A-git cho phép bạn tạo một nhánh đơn giản và đơn giản.
B -git checkout -b cho phép bạn tạo một nhánh và chuyển sang nó cùng một lúc.
Khi nào bạn sẽ sử dụng cái nào? 1- nhánh git khi bạn muốn tạo một nhánh nhưng vẫn ở nhánh hiện tại. 2- git checkout -b khi bạn muốn tạo và chuyển đổi. Nếu bạn nhìn vào nó là trực quan để tạo một nhánh và chuyển sang nó. Cho nên lựa chọn là của bạn :)