Google cam kết thúc đẩy công bằng chủng tộc cho các cộng đồng Đen. Xem thế nào.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Quy trình kiểm soát nguồn

Làm việc với mã Android yêu cầu sử dụng Git (hệ thống kiểm soát phiên bản nguồn mở) và Repo (công cụ quản lý kho lưu trữ do Google xây dựng chạy trên Git). Xem Công cụ kiểm soát nguồn để biết giải thích về mối quan hệ giữa Repo và Git và các liên kết đến tài liệu hỗ trợ cho từng công cụ.

lưu lượng

Phát triển Android bao gồm quy trình làm việc cơ bản sau:

  1. Bắt đầu một nhánh chủ đề mới bằng cách sử dụng repo start .
  2. Chỉnh sửa các tập tin.
  3. Thay đổi giai đoạn bằng cách sử dụng git add .
  4. Cam kết thay đổi bằng git commit .
  5. Tải các thay đổi lên máy chủ đánh giá bằng cách repo upload .

Nhiệm vụ

Làm việc với Git và Repo trong kho lưu trữ mã Android liên quan đến việc thực hiện các tác vụ phổ biến sau.

Chỉ huy Sự miêu tả
repo init Khởi tạo một khách hàng mới.
repo sync Đồng bộ hóa máy khách đến kho lưu trữ.
repo start Bắt đầu một chi nhánh mới.
repo status Hiển thị trạng thái của chi nhánh hiện tại.
repo upload Tải lên các thay đổi cho máy chủ xem xét.
git add Các giai đoạn các tập tin.
git commit Cam kết các tập tin dàn dựng.
git branch Hiển thị các chi nhánh hiện tại.
git branch [branch] Tạo một nhánh chủ đề mới.
git checkout [branch] Chuyển HEAD sang nhánh được chỉ định.
git merge [branch] Sáp nhập [branch] vào nhánh hiện tại.
git diff Hiển thị khác biệt của những thay đổi chưa được tổ chức.
git diff --cached Hiển thị khác biệt của các thay đổi theo giai đoạn.
git log Hiển thị lịch sử của chi nhánh hiện tại.
git log m/[codeline].. Hiển thị các cam kết không được đẩy.

Để biết thông tin về việc sử dụng Repo để tải xuống nguồn, hãy xem Tải xuống NguồnTham chiếu lệnh Repo .

Đồng bộ hóa máy khách

Để đồng bộ hóa các tệp cho tất cả các dự án có sẵn:

repo sync

Để đồng bộ hóa các tệp cho các dự án đã chọn:

repo sync PROJECT0 PROJECT1 ... PROJECTN

Tạo các nhánh chủ đề

Bắt đầu một nhánh chủ đề trong môi trường làm việc tại địa phương của bạn bất cứ khi nào bạn bắt đầu thay đổi, chẳng hạn như khi bạn bắt đầu làm việc với một lỗi hoặc tính năng mới. Một nhánh chủ đề không phải là một bản sao của các tập tin gốc; đó là một con trỏ tới một cam kết cụ thể, giúp tạo ra các nhánh cục bộ và chuyển đổi giữa chúng thành một hoạt động nhẹ. Bằng cách sử dụng các nhánh, bạn có thể tách biệt một khía cạnh công việc của bạn với các khía cạnh khác. Đối với một bài viết thú vị về việc sử dụng các nhánh chủ đề, hãy tham khảo Tách các nhánh chủ đề .

Để bắt đầu một nhánh chủ đề bằng Repo, hãy điều hướng đến dự án và chạy:

repo start BRANCH_NAME .

Khoảng thời gian (.) Thể hiện dự án trong thư mục làm việc hiện tại.

Để xác minh rằng chi nhánh mới đã được tạo:

repo status .

Sử dụng các nhánh chủ đề

Để gán chi nhánh cho một dự án cụ thể:

repo start BRANCH_NAME PROJECT_NAME

Để biết danh sách tất cả các dự án, hãy tham khảo android.googlesource.com . Nếu bạn đã điều hướng đến thư mục dự án, chỉ cần sử dụng một khoảng thời gian để thể hiện dự án hiện tại.

Để chuyển sang một chi nhánh khác trong môi trường làm việc tại địa phương của bạn:

git checkout BRANCH_NAME

Để xem danh sách các chi nhánh hiện có:

git branch

hoặc là

repo branches

Cả hai lệnh trả về danh sách các nhánh hiện có với tên của nhánh hiện tại đứng trước dấu hoa thị (*).

Tập tin dàn

Theo mặc định, Git thông báo nhưng không theo dõi những thay đổi mà bạn thực hiện trong một dự án. Để nói với Git để duy trì các thay đổi của bạn, bạn phải đánh dấu hoặc giai đoạn những thay đổi đó để đưa vào một cam kết.

Để thay đổi giai đoạn:

git add

Lệnh này chấp nhận các đối số cho các tệp hoặc thư mục trong thư mục dự án. Mặc dù tên, git add không chỉ thêm tệp vào kho Git; nó cũng có thể được sử dụng để sửa đổi và xóa tập tin giai đoạn.

Xem trạng thái máy khách

Để liệt kê trạng thái của tệp:

repo status

Để xem các chỉnh sửa không được cam kết (các chỉnh sửa cục bộ không được đánh dấu cho cam kết):

repo diff

Để xem các chỉnh sửa đã cam kết (các chỉnh sửa định vị được đánh dấu cho cam kết), hãy đảm bảo rằng bạn đang ở trong thư mục dự án, sau đó chạy git diff với đối số được cached :

cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached

Cam kết thay đổi

Một cam kết là đơn vị cơ bản của kiểm soát sửa đổi trong Git và bao gồm một ảnh chụp nhanh cấu trúc thư mục và nội dung tệp cho toàn bộ dự án. Để tạo một cam kết trong Git:

git commit

Khi được nhắc về một thông điệp cam kết, hãy cung cấp một thông báo ngắn (nhưng hữu ích) cho các thay đổi được gửi tới AOSP. Nếu bạn không thêm một thông điệp cam kết, thì hủy bỏ cam kết.

Tải các thay đổi lên Gerrit

Cập nhật lên bản sửa đổi mới nhất, sau đó tải lên thay đổi:

repo sync
repo upload

Các lệnh này trả về một danh sách các thay đổi bạn đã cam kết và nhắc bạn chọn các nhánh để tải lên máy chủ đánh giá. Nếu chỉ có một nhánh, bạn sẽ thấy dấu nhắc y/n đơn giản.

Giải quyết xung đột đồng bộ hóa

Nếu lệnh repo sync trả về xung đột đồng bộ hóa:

  1. Xem các tệp không được trộn (mã trạng thái = U).
  2. Chỉnh sửa các vùng xung đột khi cần thiết.
  3. Thay đổi thư mục dự án có liên quan. Thêm và cam kết các tệp bị ảnh hưởng, sau đó khởi động lại các thay đổi:
    git add .
    git commit
    git rebase --continue
    
  4. Sau khi rebase hoàn thành, hãy bắt đầu lại toàn bộ đồng bộ hóa:
    repo sync PROJECT0 PROJECT1 ... PROJECTN
    

Dọn dẹp khách hàng

Sau khi hợp nhất các thay đổi với Gerrit, hãy cập nhật thư mục làm việc cục bộ của bạn, sau đó sử dụng repo prune để xóa các nhánh chủ đề cũ một cách an toàn:

repo sync
repo prune

Xóa khách hàng

Vì tất cả thông tin trạng thái được lưu trữ trong máy khách của bạn, bạn chỉ cần xóa thư mục khỏi hệ thống tệp của mình:

rm -rf WORKING_DIRECTORY

Xóa ứng dụng khách sẽ xóa vĩnh viễn mọi thay đổi bạn chưa tải lên để xem xét.