Menu
CoddyTech

Git: Tạo một nhánh

Cập nhật lần cuối

Cách hiện đại để tạo một nhánh và chuyển sang nó trong một bước là git switch -c <name>. Lệnh cũ hơn git checkout -b <name> làm đúng việc đó và vẫn dùng được ở mọi nơi. git branch <name> tạo nhánh mà không chuyển sang. Nhánh mới bắt đầu từ vị trí bạn đang đứng, trừ khi bạn chỉ định một điểm bắt đầu khác.

Thử các lệnh này trong playground terminal: một shell thật ngay trên trình duyệt, không cần cài đặt gì.

Tạo nhánh mở ra một dòng commit mới từ vị trí hiện tại của bạn. Con trỏ mới có ngay lập tức và không tốn gì.

Cú pháp

LệnhTác dụng
git switch -c featureTạo feature và chuyển sang nhánh đó (hiện đại)
git checkout -b featureTạo và chuyển nhánh (cách cũ, tương đương)
git branch featureTạo nhánh mà không chuyển sang
git switch -c feature mainTạo feature bắt đầu từ main
git switch -c feature <hash>Tạo nhánh bắt đầu từ một commit

Tình huống thường gặp

Mục tiêuLệnh
Tạo nhánh từ một nhánh remotegit switch -c feature origin/feature
Push nhánh mới và đặt upstreamgit push -u origin feature
Tạo nhánh để chuyển sang saugit branch feature

Câu hỏi thường gặp về tạo nhánh trong Git

Làm sao để tạo nhánh và chuyển sang nó chỉ bằng một lệnh?
Chạy git switch -c <name> (Git hiện đại) hoặc lệnh tương đương git checkout -b <name>. Cả hai đều tạo nhánh mới từ commit hiện tại và checkout nó ngay, để bạn bắt tay vào làm việc luôn.
git switch -c và git checkout -b khác nhau thế nào?
Chúng làm cùng một việc: tạo nhánh và chuyển sang nhánh đó. git switch là lệnh mới hơn, tập trung hơn, được tạo ra để tách việc chuyển nhánh khỏi vô số công dụng khác của git checkout. git checkout -b cũ hơn nhưng vẫn được hỗ trợ đầy đủ; dùng cách nào nhóm của bạn quen là được.
Làm sao để tạo nhánh từ một nhánh khác hoặc một commit cụ thể?
Thêm điểm bắt đầu làm đối số cuối: git switch -c feature main tạo nhánh từ main, còn git switch -c feature <hash> tạo nhánh từ một commit cụ thể. Nếu không có điểm bắt đầu, nhánh được tạo từ HEAD hiện tại.
Làm sao để push một nhánh mới lên remote?
Sau khi tạo nhánh ở local, chạy git push -u origin <name>. Cờ -u đặt upstream để các lần git push và git pull sau trên nhánh đó không cần đối số. Nhánh chưa tồn tại trên remote cho đến khi bạn push nó.
Có thể luyện tập lệnh này online không?

Có. Mở playground terminal để chạy các lệnh này trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khóa học Git tương tác miễn phí của Coddy cũng hướng dẫn làm việc với nhánh từ đầu đến cuối.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Git cùng Coddy

Bắt đầu