Những gì bạn muốn làm được thực hiện bằng cách phân nhánh cũ đơn giản trong git.
Từ một câu trả lời hay về StackOverflow của JaredPar :
Giá đỡ là một cách lưu tất cả các thay đổi trên hộp của bạn mà không cần đăng ký. Các thay đổi này vẫn tồn tại trên máy chủ.
Điều này tương tự như cam kết với một chi nhánh và đẩy nó đến một máy chủ trong git.
Làm thế nào để làm nó:
Giả sử bạn đang làm việc trên nhánh "chính" và bạn quyết định triển khai tính năng X. Bạn có một khởi đầu tốt với nó, nhưng sau đó sếp của bạn nói với bạn rằng tính năng Y cần được triển khai càng sớm càng tốt. Phil trong khối tiếp theo thay vì tình nguyện viên hoàn thành tính năng X trong khi bạn thực hiện tính năng Y. Đây là những gì bạn làm:
Tạo một chi nhánh mới và chuyển sang nó:
$ git checkout -b feature-x
Cam kết các thay đổi của bạn:
$ git add filethatyouchanged.cc
$ git commit -m 'partial implementation of feature X'
Đẩy nó đến một máy chủ mà Phil có thể thấy:
$ git push origin feature-x
Quay lại nhánh chính (không thay đổi):
$ git checkout master
Bạn cũng có thể muốn chủ động tạo một nhánh mới cho tính năng Y:
$ git checkout -b feature-y
Phil hiện có thể kéo xuống hoạt động của tính năng X của bạn và tiếp tục nơi bạn đã dừng lại:
phil$ git fetch origin
phil$ git checkout -t origin/feature-x