Thực hiện một số công việc trong hạt nhân Android. Tôi rất quen thuộc với git, nhưng không quen thuộc với repo, vì vậy tôi đọc tài liệu sau: http://source.android.com/source/version-control.html. Theo hiểu biết của tôi, cũng như thử nghiệm xung quanh với các nhánh chủ đề, repo start BRANCH_NAME
cũng giống như git checkout -b BRANCH_NAME
. Tôi có đúng trong sự hiểu biết của tôi, hoặc có một số chi tiết quan trọng, tinh tế mà tôi đang thiếu?Sự khác biệt giữa khởi động repo và git checkout -b
Trả lời
Nhìn vào start.py
source code để khởi repo, tôi tin rằng sự khác biệt chính là trong việc quản lý các manifest files được bao gồm trong các dự án Android.
bắt đầu một nhánh phát triển mới, bắt đầu từ sửa đổi được chỉ định trong tệp kê khai.
Để thêm vào Trevor Johns 'answer, bạn cần phải kiểm tra "How do you make an existing Git branch track a remote branch?" (khi bạn không sử dụng repo start
):
git checkout -b newBranch -t aosp/master
đó sẽ thiết lập từ xa và sáp nhập (-t
= "track "" trong cấu hình được kết hợp với nhánh mới.
Một đơn giản git checkout -b
sẽ không đặt bất cứ điều gì, và tạo ra một chi nhánh hoàn toàn địa phương (không theo dõi bất kỳ chi nhánh thượng nguồn đến một repo từ xa)
Sự khác biệt là repo start
đặt remote
và merge
thuộc tính cho chi nhánh của bạn bên trong .git/config:
[branch "YOUR_BRANCH_HERE"]
remote = aosp
merge = master
nếu không có những, repo sẽ không biết làm thế nào để tải chính xác thay đổi của bạn khi bạn chạy repo upload
sau, và nó sẽ hoạt động như thể chi nhánh mới của bạn chỉ đơn giản là không tồn tại.
(Ngoài ra còn có một số logic trong đó cho phép bạn tạo các chi nhánh mới cho mỗi dự án trong repo đồng thời với --all
, nhưng đó chỉ là một điều thuận tiện.)
- 1. Sự khác biệt giữa thanh toán git - gốc xuất xứ/chi nhánh và chi nhánh git checkout -b branch/branch
- 2. Sự khác nhau giữa "git checkout <filename>" và "git checkout - - <filename>"
- 3. Sự khác biệt giữa [:] = b và a = b [:]
- 4. Sự khác biệt giữa tệp git reset và git checkout file là gì?
- 5. Có sự khác biệt giữa "git reset --hard hash" và "git checkout hash" không?
- 6. Sự khác nhau giữa git clone và checkout là gì?
- 7. Sự khác biệt giữa git remote add và git clone
- 8. Sự khác nhau giữa "git checkout -f" và "git reset --hard HEAD" là gì?
- 9. Sự khác nhau giữa một +++++ b và a ++ + ++ b
- 10. Sự khác biệt giữa git pull và git pull --rebase
- 11. Sự khác biệt giữa git-log và git-whatchanged?
- 12. Sự khác biệt giữa "a là b" và "id (a) == id (b)" trong Python là gì?
- 13. git: Sự khác biệt giữa "BRANCHNAME" và "refs/head/BRANCHNAME"
- 14. Sự khác biệt giữa ". +" Và ". +?"
- 15. Sự khác biệt về API giữa Paypal Express Checkout và Website Payment Standard
- 16. Sự khác biệt giữa Proc và Lambda
- 17. Sự khác biệt b/w llvm-ld và llvm-link
- 18. Sự khác biệt giữa mặc định khởi tạo và giá trị khởi tạo trong C++ 03?
- 19. Sử dụng `git checkout -b` có và không có điểm bắt đầu chi nhánh
- 20. Sự khác biệt b/w Hibernate's Sessionfactory.getCurrentSession() và SessionFactory.openSession()
- 21. Sự khác biệt giữa git push và git pull là gì?
- 22. Sự khác biệt giữa $ (...) và `...`
- 23. Sự khác biệt giữa. và #
- 24. Sự khác biệt giữa $ * và $ @
- 25. Sự khác biệt giữa "**/* /" và "** /"?
- 26. Sự khác biệt giữa = và: =
- 27. git log sự khác biệt giữa 1 chi nhánh từ
- 28. Sự khác biệt giữa. và: trong Lua
- 29. Sự khác biệt giữa "hoặc" và "||"
- 30. Sự khác nhau giữa nhân bản và sao chép một repo git là gì?
Cảm ơn đã phản ứng, VonC, I figured nước đã xảy ra là thứ gì đó khác biệt giữa 2. –