Tôi có một kho lưu trữ Git cục bộ gọi là 'bộ xương' mà tôi sử dụng để lưu trữ bộ xương dự án. Nó có một vài chi nhánh, cho các loại dự án khác nhau:
casey@agave [~/Projects/skeleton] git branch
* master
rails
c
c++
Nếu tôi muốn kiểm tra chi nhánh chính cho một dự án mới, tôi có thể làm
casey@agave [~/Projects] git clone skeleton new
Initialized empty Git repository in /Users/casey/Projects/new/.git/
và tất cả mọi thứ là cách tôi muốn nó. Cụ thể, nhánh chủ mới chỉ vào nhánh chính của bộ xương và tôi có thể đẩy và kéo để di chuyển xung quanh các thay đổi đối với thiết lập dự án cơ bản.
Tuy nhiên, điều không hiệu quả là nếu tôi muốn sao chép một nhánh khác. Tôi không thể lấy nó để tôi chỉ kéo nhánh tôi muốn, ví dụ như rails
nhánh, và sau đó kho lưu trữ mới có một master
nhánh đẩy và kéo từ rails
nhánh của kho lưu trữ theo mặc định.
Có một cách tốt để làm điều này? Hoặc, có lẽ đây không phải là cách mà Git muốn tôi cấu trúc mọi thứ, và tôi chắc chắn mở cho nó. Có lẽ tôi nên có nhiều kho lưu trữ, với kho lưu trữ bộ xương Ruby on Rails theo dõi kho lưu trữ bộ xương chính? Và bất kỳ dự án cá nhân nào nhân bản kho lưu trữ bộ xương Ruby on Rails.
git checkout -b newbranch origin/branchiwant
làm việc tốt hơn? (không có --track
tùy chọn)
git branch -a
thể hiện điều gì?