2012-02-01 27 views
18

Tôi cảm thấy tôi có một sự hiểu biết khá tốt về git, nhưng khi nói đến lệnh repo, tôi bị lạc. Tôi đã đọc về lệnh repo, nhưng tôi vẫn không chắc nó liên kết mọi thứ với nhau như thế nào.Lệnh chi nhánh và chuyển mạch của Android

Câu hỏi lớn nhất của tôi là tôi có thể thay đổi các nhánh hiện tại của mình từ bánh gừng thành ICS và có thể quay lại?

tôi thấy lệnh:

repo init -u https://android.googlesource.com/platform/manifest 

Từ hiểu biết của tôi, điều này sẽ tạo ra một repo với các chi nhánh chủ. Nếu tôi muốn chỉ định chi nhánh, tôi có thể làm:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1 

Tải xuống khoảng 8GB, tôi tin, vì vậy tôi không muốn phải đẩy lùi mã của mình nếu họ chia sẻ mã. có cách nào để chuyển đổi chi nhánh trong repo?

Trả lời

41

Nếu bạn chạy repo init lần thứ hai với một nhánh khác, bạn có thể chỉ cần repo sync và nó sẽ không tải lại toàn bộ mã nguồn.

+0

Tham khảo https://groups.google.com/forum/#!topic/android-building/rtH5ZbJC7qU, nó có cùng chủ đề. – execve

4

Tham số repo -b chỉ định nhánh của kho .itpo/manifests git cần được kiểm tra. Tệp default.xml trong kho lưu trữ này xác định nhánh nào của các kho lưu trữ git (dự án) khác nên được bật.

Dường như repo được viết theo cách như vậy nếu bạn kiểm tra một nhánh biểu hiện khác là đồng bộ hóa lại, nó sẽ kéo tất cả mã trở lại qua mạng.

Bạn có thể chạy repo forall -c 'git checkout branch_name' để kiểm tra chi nhánh được chỉ định cho tất cả các dự án được khai báo trong bản kê khai hiện tại của bạn. cho các dự án này.

Chạy git checkout branchname trong kho lưu trữ .repo/manifests sau đó chạy đồng bộ hóa repo có thể cho phép bạn tiết kiệm một số phí trên mạng.

Nếu không, do những hạn chế của repo, cách duy nhất thực sự để làm điều đó là duy trì hai bản sao làm việc của aosp hoặc được chuẩn bị để đồng bộ hóa lại.

+2

Tôi nhận thấy bạn đã đăng bài này một vài tháng trước, nhưng phần về nguồn được tải xuống lại không còn chính xác nữa nếu như vậy. – gparent

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