Firebase CLI (GitHub) cung cấp nhiều công cụ để quản lý, xem và triển khai cho các dự án Firebase.
Trước khi sử dụng Giao diện dòng lệnh (CLI) của Firebase, hãy thiết lập một dự án Firebase.
Thiết lập hoặc cập nhật CLI
Cài đặt Giao diện dòng lệnh (CLI) của Firebase
Bạn có thể cài đặt Giao diện dòng lệnh (CLI) của Firebase bằng cách sử dụng phương thức phù hợp với hệ điều hành, cấp độ trải nghiệm và/hoặc trường hợp sử dụng của bạn. Bất kể cài đặt CLI bằng cách nào, bạn đều có quyền truy cập vào cùng một chức năng và lệnh firebase
.
Windows
Bạn có thể cài đặt Giao diện dòng lệnh (CLI) của Firebase dành cho Windows bằng một trong các cách sau:
Lựa chọn | Nội dung mô tả | Đề xuất cho... |
---|---|---|
tệp nhị phân độc lập | Tải tệp nhị phân độc lập xuống cho CLI. Sau đó, bạn có thể truy cập vào tệp thực thi để mở một shell nơi bạn có thể chạy lệnh firebase .
|
Nhà phát triển mới Nhà phát triển chưa sử dụng hoặc chưa quen thuộc với Node.js |
npm | Sử dụng npm (Trình quản lý gói nút) để cài đặt CLI và bật lệnh firebase có sẵn trên toàn cầu.
|
Nhà phát triển sử dụng Node.js |
tệp nhị phân độc lập
Để tải xuống và chạy tệp nhị phân cho Firebase CLI, hãy làm theo các bước sau:
Truy cập vào tệp nhị phân để mở một shell nơi bạn có thể chạy lệnh
firebase
.Tiếp tục đăng nhập và kiểm tra CLI.
hải lý/phút
Nếu muốn sử dụng npm
(Trình quản lý gói nút) để cài đặt Giao diện dòng lệnh (CLI) của Firebase, hãy làm theo các bước sau:
Cài đặt Node.js bằng nvm-windows (Trình quản lý phiên bản nút). Việc cài đặt Node.js sẽ tự động cài đặt các công cụ lệnh
npm
.Cài đặt Giao diện dòng lệnh (CLI) của Firebase qua
npm
bằng cách chạy lệnh sau:npm install -g firebase-tools
Lệnh này bật lệnh
firebase
có thể sử dụng trên toàn hệ thống.Tiếp tục đăng nhập và kiểm tra CLI.
macOS hoặc Linux
Bạn có thể cài đặt Firebase CLI cho macOS hoặc Linux bằng một trong các phương án sau:
Lựa chọn | Nội dung mô tả | Đề xuất cho... |
---|---|---|
tập lệnh cài đặt tự động | Chạy một lệnh duy nhất giúp tự động phát hiện hệ điều hành của bạn, tải bản phát hành CLI mới nhất xuống, sau đó bật lệnh firebase có thể sử dụng trên toàn cầu.
|
Nhà phát triển mới Nhà phát triển chưa sử dụng hoặc chưa quen thuộc với Node.js Triển khai tự động trong môi trường CI/CD |
tệp nhị phân độc lập | Tải tệp nhị phân độc lập xuống cho CLI. Sau đó, bạn có thể định cấu hình và chạy tệp nhị phân cho phù hợp với quy trình làm việc của mình. | Quy trình làm việc có thể tuỳ chỉnh toàn bộ bằng CLI |
npm | Sử dụng npm (Trình quản lý gói nút) để cài đặt CLI và bật lệnh firebase có sẵn trên toàn cầu.
|
Nhà phát triển sử dụng Node.js |
tập lệnh tự động cài đặt
Để cài đặt Giao diện dòng lệnh (CLI) của Firebase bằng tập lệnh cài đặt tự động, hãy làm theo các bước sau:
Chạy lệnh cURL sau:
curl -sL https://firebase.tools | bash
Tập lệnh này sẽ tự động phát hiện hệ điều hành của bạn, tải bản phát hành Firebase CLI mới nhất xuống, sau đó bật lệnh
firebase
được cung cấp trên toàn cầu.Tiếp tục đăng nhập và kiểm tra CLI.
Để biết thêm ví dụ và thông tin chi tiết về tập lệnh cài đặt tự động, hãy tham khảo mã nguồn của tập lệnh tại firebase.tools.
tệp nhị phân độc lập
Để tải và chạy tệp nhị phân cho Giao diện dòng lệnh (CLI) của Firebase dành riêng cho hệ điều hành của bạn, hãy làm theo các bước sau:
Tải tệp nhị phân Firebase CLI xuống cho hệ điều hành của bạn: macOS | Linux
(Không bắt buộc) Thiết lập lệnh
firebase
có thể sử dụng trên toàn cầu.- Tạo tệp thực thi nhị phân bằng cách chạy
chmod +x ./firebase_tools
. - Thêm đường dẫn của tệp nhị phân vào PATH của bạn.
- Tạo tệp thực thi nhị phân bằng cách chạy
Tiếp tục đăng nhập và kiểm tra CLI.
hải lý/phút
Để sử dụng npm
(Trình quản lý gói nút) nhằm cài đặt Giao diện dòng lệnh (CLI) của Firebase, hãy làm theo các bước sau:
Cài đặt Node.js bằng nvm (Trình quản lý phiên bản nút).
Việc cài đặt Node.js sẽ tự động cài đặt các công cụ lệnhnpm
.Cài đặt Giao diện dòng lệnh (CLI) của Firebase qua
npm
bằng cách chạy lệnh sau:npm install -g firebase-tools
Lệnh này bật lệnh
firebase
có thể sử dụng trên toàn hệ thống.Tiếp tục đăng nhập và kiểm tra CLI.
Đăng nhập và thử nghiệm Giao diện dòng lệnh (CLI) của Firebase
Sau khi cài đặt CLI, bạn phải xác thực. Sau đó, bạn có thể xác nhận xác thực bằng cách liệt kê các dự án Firebase của mình.
Đăng nhập vào Firebase bằng Tài khoản Google của bạn bằng cách chạy lệnh sau:
firebase login
Lệnh này sẽ kết nối máy cục bộ của bạn với Firebase và cấp cho bạn quyền truy cập vào các dự án Firebase của mình.
Hãy kiểm tra để đảm bảo CLI được cài đặt đúng cách và truy cập vào tài khoản của bạn bằng cách liệt kê các dự án Firebase. Chạy lệnh sau:
firebase projects:list
Danh sách hiển thị phải giống với các dự án Firebase được liệt kê trong bảng điều khiển của Firebase.
Cập nhật lên phiên bản CLI mới nhất
Nhìn chung, bạn muốn sử dụng phiên bản Firebase CLI mới nhất.
Cách bạn cập nhật phiên bản CLI tuỳ thuộc vào hệ điều hành và cách bạn cài đặt CLI.
Windows
- tệp nhị phân độc lập: Tải phiên bản mới xuống rồi thay thế trên hệ thống
- npm: Chạy
npm install -g firebase-tools
macOS
- tập lệnh cài đặt tự động: Chạy
curl -sL https://firebase.tools | upgrade=true bash
- tệp nhị phân độc lập: Tải phiên bản mới xuống rồi thay thế phiên bản đó trên hệ thống của bạn
- npm: Chạy
npm install -g firebase-tools
Linux
- tập lệnh cài đặt tự động: Chạy
curl -sL https://firebase.tools | upgrade=true bash
- tệp nhị phân độc lập: Tải phiên bản mới xuống rồi thay thế phiên bản đó trên hệ thống của bạn
- npm: Chạy
npm install -g firebase-tools
Sử dụng CLI với các hệ thống CI
Firebase CLI yêu cầu một trình duyệt để hoàn tất quy trình xác thực, nhưng CLI hoàn toàn tương thích với CI và các môi trường không có giao diện người dùng khác.
Trên máy có trình duyệt, hãy cài đặt Firebase CLI.
Bắt đầu quá trình đăng nhập bằng cách chạy lệnh sau:
firebase login:ci
Truy cập URL được cung cấp, rồi đăng nhập bằng Tài khoản Google.
In mã làm mới mới. Phiên CLI hiện tại sẽ không bị ảnh hưởng.
Lưu trữ mã thông báo đầu ra một cách an toàn nhưng có thể truy cập được trong hệ thống CI.
Sử dụng mã thông báo này khi chạy các lệnh
firebase
. Bạn có thể sử dụng một trong hai tuỳ chọn sau:Cách 1: Lưu trữ mã thông báo dưới dạng biến môi trường
FIREBASE_TOKEN
. Hệ thống của bạn sẽ tự động dùng mã thông báo này.Cách 2: Chạy tất cả các lệnh
firebase
có cờ--token TOKEN
trong hệ thống CI.
Đây là thứ tự ưu tiên khi tải mã thông báo: cờ, biến môi trường, dự án Firebase mong muốn.
Khởi chạy dự án Firebase
Nhiều tác vụ phổ biến được thực hiện khi sử dụng CLI (chẳng hạn như triển khai cho một dự án Firebase) yêu cầu phải có thư mục dự án. Bạn thiết lập một thư mục dự án bằng lệnh firebase init
. Thư mục dự án thường giống với thư mục gốc kiểm soát nguồn và sau khi chạy firebase init
, thư mục đó chứa tệp cấu hình firebase.json
.
Để khởi chạy một dự án Firebase mới, hãy chạy lệnh sau từ trong thư mục của ứng dụng:
firebase init
Lệnh firebase init
hướng dẫn bạn thiết lập thư mục dự án và một số sản phẩm của Firebase. Trong quá trình khởi chạy dự án, Giao diện dòng lệnh (CLI) của Firebase yêu cầu bạn hoàn thành các thao tác sau:
Chọn các sản phẩm Firebase mà bạn muốn để thiết lập trong dự án Firebase.
Bước này nhắc bạn đặt cấu hình cho các tệp cụ thể của sản phẩm đã chọn. Để biết thêm thông tin chi tiết về các cấu hình này, hãy tham khảo tài liệu của sản phẩm cụ thể (ví dụ: Lưu trữ). Xin lưu ý rằng bạn luôn có thể chạy
firebase init
sau để thiết lập các sản phẩm khác của Firebase.Chọn một dự án Firebase mặc định.
Bước này liên kết thư mục dự án hiện tại với một dự án Firebase để các lệnh dành riêng cho dự án (như
firebase deploy
) chạy dựa trên dự án Firebase phù hợp.Bạn cũng có thể liên kết nhiều dự án Firebase (chẳng hạn như một dự án thử nghiệm và một dự án chính thức) với cùng một thư mục dự án.
Khi kết thúc quá trình khởi chạy, Firebase sẽ tự động tạo hai tệp sau tại gốc của thư mục ứng dụng cục bộ của bạn:
Tệp cấu hình
firebase.json
liệt kê cấu hình dự án của bạn.Tệp
.firebaserc
lưu trữ email đại diện của dự án.
Tệp firebase.json
Lệnh firebase init
tạo một tệp cấu hình firebase.json
trong gốc của thư mục dự án.
Bạn cần có tệp firebase.json
để triển khai tài sản bằng Giao diện dòng lệnh (CLI) của Firebase vì tệp này chỉ định các tệp và chế độ cài đặt trong thư mục dự án được triển khai cho dự án Firebase. Vì bạn có thể xác định một số chế độ cài đặt trong thư mục dự án hoặc bảng điều khiển của Firebase, hãy đảm bảo rằng bạn giải quyết được mọi xung đột triển khai có thể xảy ra.
Bạn có thể định cấu hình hầu hết các tùy chọn Lưu trữ Firebase ngay trong tệp firebase.json
. Tuy nhiên, đối với các dịch vụ Firebase khác có thể được triển khai bằng Giao diện dòng lệnh (CLI) của Firebase, lệnh firebase init
sẽ tạo các tệp cụ thể để bạn có thể xác định chế độ cài đặt cho các dịch vụ đó, chẳng hạn như tệp index.js
cho Chức năng đám mây. Bạn cũng có thể thiết lập hóc triển khai trước hoặc sau triển khai trong tệp firebase.json
.
Sau đây là ví dụ về tệp firebase.json
có chế độ cài đặt mặc định nếu bạn chọn dịch vụ Lưu trữ Firebase, Cloud Firestore và Cloud Functions for Firebase (với các lựa chọn chọn nguồn TypeScript và tìm lỗi mã nguồn) trong quá trình khởi chạy.
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
},
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
}
Mặc dù firebase.json
được sử dụng theo mặc định, nhưng bạn có thể truyền cờ --config PATH
để chỉ định tệp cấu hình thay thế.
Cấu hình cho nhiều cơ sở dữ liệu Cloud Firestore
Khi bạn chạy firebase init
, tệp firebase.json
sẽ chứa một khoá firestore
duy nhất tương ứng với cơ sở dữ liệu mặc định của dự án, như minh hoạ ở trên.
Nếu dự án của bạn chứa nhiều cơ sở dữ liệu Cloud Firestore, hãy chỉnh sửa tệp firebase.json
để liên kết các Quy tắc bảo mật của Cloud Firestore và các tệp nguồn chỉ mục cơ sở dữ liệu với từng cơ sở dữ liệu. Sửa đổi tệp bằng một mảng JSON, với một mục nhập cho mỗi cơ sở dữ liệu.
"firestore": [
{
"database": "(default)",
"rules": "firestore.default.rules",
"indexes": "firestore.default.indexes.json"
},
{
"database": "ecommerce",
"rules": "firestore.ecommerce.rules",
"indexes": "firestore.ecommerce.indexes.json"
}
],
Các tệp Chức năng đám mây cần bỏ qua khi triển khai
Tại thời điểm triển khai hàm, CLI tự động chỉ định danh sách các tệp trong thư mục functions
cần bỏ qua. Thao tác này sẽ ngăn việc triển khai cho các tệp không liên quan trong phần phụ trợ. Những tệp này có thể làm tăng kích thước dữ liệu của quá trình triển khai.
Danh sách các tệp bị bỏ qua theo mặc định và hiển thị ở định dạng JSON là:
"ignore": [
".git",
".runtimeconfig.json",
"firebase-debug.log",
"firebase-debug.*.log",
"node_modules"
]
Nếu bạn thêm giá trị tuỳ chỉnh của riêng mình cho ignore
trong firebase.json
, hãy đảm bảo rằng bạn giữ lại (hoặc thêm, nếu bị thiếu) danh sách các tệp nêu trên.
Quản lý bí danh của dự án
Bạn có thể liên kết nhiều dự án Firebase với cùng một thư mục dự án.
Ví dụ: có thể bạn muốn sử dụng một dự án Firebase để thử nghiệm và một dự án khác để phát hành chính thức. Bằng cách sử dụng nhiều môi trường dự án, bạn có thể xác minh các thay đổi trước khi triển khai phiên bản chính thức. Lệnh firebase use
cho phép bạn chuyển đổi giữa các bí danh cũng như tạo bí danh mới.
Thêm bí danh dự án
Khi bạn chọn một dự án Firebase trong quá trình khởi chạy dự án, dự án đó sẽ tự động được chỉ định bí danh là default
. Tuy nhiên, để cho phép các lệnh dành riêng cho dự án
chạy dựa trên dự án Firebase khác nhưng vẫn sử dụng cùng một thư mục dự án, hãy chạy lệnh sau từ trong thư mục dự án của bạn:
firebase use --add
Lệnh này sẽ nhắc bạn chọn một dự án Firebase khác và chỉ định
dự án đó làm bí danh. Các phép gán bí danh được ghi vào tệp .firebaserc
bên trong thư mục dự án của bạn.
Sử dụng tên đại diện của dự án
Để sử dụng các bí danh của dự án Firebase được chỉ định, hãy chạy bất kỳ lệnh nào sau đây trong thư mục dự án của bạn.
Lệnh | Mô tả |
---|---|
firebase use |
Xem danh sách các bí danh hiện được xác định cho thư mục dự án của bạn |
firebase use \ |
Hướng dẫn tất cả các lệnh chạy dựa trên dự án Firebase đã chỉ định.
CLI sử dụng dự án này là "dự án đang hoạt động" hiện tại. |
firebase use --clear |
Xoá dự án đang hoạt động.
Chạy |
firebase use \ |
Xoá một đại diện khỏi thư mục dự án của bạn. |
Bạn có thể ghi đè nội dung đang được dùng làm dự án đang hoạt động bằng cách truyền cờ --project
bằng bất kỳ lệnh CLI nào. Ví dụ: Bạn có thể đặt CLI để chạy dựa trên dự án Firebase mà bạn đã chỉ định bí danh staging
. Nếu muốn chạy một lệnh duy nhất đối với dự án Firebase mà bạn đã chỉ định bí danh prod
, thì bạn có thể chạy
chẳng hạn.
Kiểm soát nguồn và bí danh dự án
Nhìn chung, bạn nên kiểm tra tệp .firebaserc
trong phần kiểm soát nguồn để cho phép nhóm của bạn chia sẻ bí danh của dự án. Tuy nhiên, đối với các dự án nguồn mở hoặc mẫu khởi động, bạn thường không nên kiểm tra trong tệp .firebaserc
của mình.
Nếu có một dự án phát triển chỉ dành cho mục đích sử dụng, bạn có thể chuyển cờ --project
qua từng lệnh hoặc chạy firebase use PROJECT_ID
mà không cần chỉ định một bí danh cho dự án Firebase đó.
Phân phát và thử nghiệm cục bộ dự án Firebase của bạn
Bạn có thể xem và thử nghiệm dự án Firebase của mình trên các URL được lưu trữ cục bộ trước khi triển khai phiên bản chính thức. Nếu chỉ muốn kiểm thử một số tính năng, bạn có thể sử dụng danh sách được phân tách bằng dấu phẩy trong cờ trên lệnh firebase serve
.
Chạy lệnh sau từ gốc của thư mục dự án cục bộ nếu bạn muốn thực hiện một trong các tác vụ sau:
- Xem nội dung tĩnh cho ứng dụng được lưu trữ trên Firebase.
- Sử dụng Chức năng đám mây để tạo nội dung động cho Lưu trữ Firebase và bạn muốn sử dụng các hàm HTTP chính thức (triển khai) để mô phỏng tính năng Lưu trữ trên một URL cục bộ.
firebase serve --only hosting
Mô phỏng dự án của bạn bằng các hàm HTTP cục bộ
Chạy bất kỳ lệnh nào sau đây từ thư mục dự án để mô phỏng dự án của bạn bằng cách sử dụng các hàm HTTP cục bộ.
Để mô phỏng các hàm HTTP và lưu trữ để kiểm thử trên các URL cục bộ, hãy sử dụng một trong các lệnh sau:
firebase serve
firebase serve --only functions,hosting // uses a flag
Để chỉ mô phỏng các hàm HTTP, hãy sử dụng lệnh sau:
firebase serve --only functions
Kiểm thử từ các thiết bị cục bộ khác
Theo mặc định, firebase serve
chỉ phản hồi các yêu cầu từ localhost
. Điều này có nghĩa là bạn có thể truy cập vào nội dung được lưu trữ từ trình duyệt web của máy tính chứ không thể truy cập từ các thiết bị khác trên mạng. Nếu bạn muốn kiểm thử từ các thiết bị cục bộ khác, hãy sử dụng cờ --host
như sau:
firebase serve --host 0.0.0.0 // accepts requests to any host
Triển khai cho dự án Firebase
Firebase CLI quản lý việc triển khai mã và tài sản cho dự án Firebase của bạn, bao gồm:
- Bản phát hành mới cho các trang web Lưu trữ Firebase
- Các chức năng đám mây mới, đã cập nhật hoặc hiện có cho Firebase
- Các quy tắc cho Cơ sở dữ liệu theo thời gian thực của Firebase
- Quy tắc đối với Cloud Storage cho Firebase
- Quy tắc cho Cloud Firestore
- Chỉ mục cho Cloud Firestore
Để triển khai cho một dự án Firebase, hãy chạy lệnh sau từ thư mục dự án của bạn:
firebase deploy
Bạn có thể tuỳ ý thêm nhận xét vào mỗi lần triển khai của mình. Nhận xét này sẽ hiển thị cùng với thông tin triển khai khác trên trang Lưu trữ Firebase của dự án. Ví dụ:
firebase deploy -m "Deploying the best new feature ever."
Khi bạn dùng lệnh firebase deploy
, hãy lưu ý những điều sau:
Để triển khai tài nguyên từ một thư mục dự án, thư mục dự án phải có tệp
firebase.json
. Tệp này được tạo tự động cho bạn bằng lệnhfirebase init
.Theo mặc định,
firebase deploy
sẽ tạo một bản phát hành cho tất cả tài nguyên có thể triển khai trong thư mục dự án của bạn. Để triển khai các dịch vụ hoặc tính năng cụ thể của Firebase, hãy sử dụng phương thức triển khai một phần.
Xung đột triển khai các quy tắc bảo mật
Đối với Cơ sở dữ liệu theo thời gian thực của Firebase, Cloud Storage cho Firebase và Cloud Firestore, bạn có thể xác định các quy tắc bảo mật trong thư mục dự án cục bộ hoặc trong bảng điều khiển của Firebase.
Một cách khác để tránh xung đột triển khai là sử dụng phương thức triển khai một phần và chỉ xác định các quy tắc trong bảng điều khiển của Firebase.
Hạn mức triển khai
Mặc dù không chắc chắn, bạn có thể vượt quá hạn mức giới hạn tốc độ hoặc khối lượng hoạt động triển khai Firebase của mình. Ví dụ: khi triển khai một số lượng rất lớn các hàm, bạn có thể nhận được thông báo lỗi HTTP 429 Quota
. Để giải quyết những vấn đề như vậy, hãy thử sử dụng phương thức triển khai một phần.
Khôi phục quá trình triển khai
Bạn có thể khôi phục hoạt động triển khai Lưu trữ Firebase trên trang Lưu trữ Firebase của dự án bằng cách chọn thao tác Khôi phục cho bản phát hành mong muốn.
Hiện bạn không thể khôi phục bản phát hành các quy tắc bảo mật cho Cơ sở dữ liệu theo thời gian thực của Firebase, Cloud Storage cho Firebase hoặc Cloud Firestore.
Triển khai các dịch vụ Firebase cụ thể
Nếu chỉ muốn triển khai các dịch vụ hoặc tính năng cụ thể của Firebase, bạn có thể sử dụng danh sách được phân tách bằng dấu phẩy trong cờ trên lệnh firebase deploy
. Ví dụ: lệnh sau đây triển khai nội dung Lưu trữ Firebase và các quy tắc bảo mật của Cloud Storage.
firebase deploy --only hosting,storage
Bảng sau đây liệt kê các dịch vụ và tính năng có thể triển khai một phần. Tên trong các cờ tương ứng với các khoá trong tệp cấu hình firebase.json
.
Cú pháp gắn cờ | Đã triển khai dịch vụ hoặc tính năng |
---|---|
--only hosting |
Nội dung Lưu trữ Firebase |
--only database |
Quy tắc Cơ sở dữ liệu theo thời gian thực Firebase |
--only storage |
Cloud Storage cho các quy tắc Firebase |
--only firestore |
Các quy tắc và chỉ mục của Cloud Firestore cho mọi cơ sở dữ liệu đã định cấu hình |
--only functions |
Chức năng đám mây cho Firebase (có phiên bản cụ thể hơn của cờ này) |
Triển khai các hàm cụ thể
Khi triển khai hàm, bạn có thể nhắm đến các hàm cụ thể. Ví dụ:
firebase deploy --only functions:function1
firebase deploy --only functions:function1,functions:function2
Một cách khác là nhóm các hàm vào các nhóm xuất trong tệp /functions/index.js
. Việc nhóm các hàm cho phép bạn triển khai nhiều hàm bằng một lệnh duy nhất.
Ví dụ: bạn có thể viết những hàm sau để xác định groupA
và groupB
:
var functions = require('firebase-functions');
exports.groupA = {
function1: functions.https.onRequest(...),
function2: functions.database.ref('\path').onWrite(...)
}
exports.groupB = require('./groupB');
Trong ví dụ này, một tệp functions/groupB.js
riêng chứa các hàm bổ sung xác định cụ thể các hàm đó trong groupB
. Ví dụ:
var functions = require('firebase-functions');
exports.function3 = functions.storage.object().onChange(...);
exports.function4 = functions.analytics.event('in_app_purchase').onLog(...);
Trong ví dụ này, bạn có thể triển khai tất cả hàm groupA
bằng cách chạy lệnh sau từ thư mục dự án:
firebase deploy --only functions:groupA
Hoặc bạn có thể nhắm đến một hàm cụ thể trong một nhóm bằng cách chạy lệnh sau:
firebase deploy --only functions:groupA.function1,groupB.function4
Xoá hàm
Firebase CLI hỗ trợ các lệnh và tuỳ chọn sau để xoá các hàm đã triển khai trước đó:
Xoá mọi hàm khớp với tên đã chỉ định ở mọi vùng:
firebase functions:delete FUNCTION-1_NAME
Xoá một hàm đã chỉ định chạy trong khu vực không phải là mặc định:
firebase functions:delete FUNCTION-1_NAME --region REGION_NAME
Xoá nhiều hàm:
firebase functions:delete FUNCTION-1_NAME FUNCTION-2_NAME
Xoá một nhóm hàm đã chỉ định:
firebase functions:delete GROUP_NAME
Bỏ qua lời nhắc xác nhận:
firebase functions:delete FUNCTION-1_NAME --force
Thiết lập tác vụ triển khai trước và sau khi triển khai tập lệnh
Bạn có thể kết nối các tập lệnh shell với lệnh firebase deploy
để thực hiện các tác vụ triển khai trước hoặc sau triển khai. Ví dụ: tập lệnh triển khai trước có thể chuyển mã TypeScript thành JavaScript và hook sau triển khai có thể thông báo cho quản trị viên về việc triển khai nội dung trang web mới cho dịch vụ Lưu trữ Firebase.
Để thiết lập hook trước hoặc sau triển khai, hãy thêm tập lệnh bash vào tệp cấu hình firebase.json
. Bạn có thể xác định các tập lệnh ngắn gọn ngay trong tệp firebase.json
hoặc có thể tham chiếu các tệp khác trong thư mục dự án của mình.
Ví dụ: tập lệnh sau là biểu thức firebase.json
cho tác vụ sau triển khai. Tác vụ này sẽ gửi thông báo Slack sau khi triển khai thành công đến dịch vụ Lưu trữ Firebase.
"hosting": {
// ...
"postdeploy": "./messageSlack.sh 'Just deployed to Firebase Hosting'",
"public": "public"
}
Tệp tập lệnh messageSlack.sh
nằm trong thư mục dự án và có dạng như sau:
curl -X POST -H 'Content-type: application/json' --data '{"text":"$1"}' \https://SLACK_WEBHOOK_URL
Bạn có thể thiết lập hook predeploy
và postdeploy
cho bất kỳ
thành phần nào mà bạn có thể triển khai. Xin lưu ý rằng việc chạy firebase deploy
sẽ kích hoạt tất cả các tác vụ triển khai trước và sau khi triển khai được xác định trong tệp firebase.json
của bạn. Để chỉ chạy những tác vụ liên kết với một dịch vụ Firebase cụ thể, hãy sử dụng các lệnh triển khai một phần.
Cả hai hook predeploy
và postdeploy
đều in đầu ra chuẩn và luồng lỗi của tập lệnh đến thiết bị đầu cuối. Đối với các trường hợp không thành công, hãy lưu ý những điều sau:
- Nếu hook triển khai trước không hoàn tất như dự kiến, quá trình triển khai sẽ bị huỷ.
- Nếu quá trình triển khai không thành công vì bất kỳ lý do gì, hook sau triển khai sẽ không được kích hoạt.
Biến môi trường
Trong các tập lệnh chạy trong hook trước triển khai và sau triển khai, có các biến môi trường sau:
$GCLOUD_PROJECT
: Mã dự án của dự án đang hoạt động$PROJECT_DIR
: Thư mục gốc chứa tệpfirebase.json
$RESOURCE_DIR
: (Chỉ dành cho tập lệnhhosting
vàfunctions
) Vị trí của thư mục chứa tài nguyên Lưu trữ hoặc Chức năng đám mây cần triển khai
Quản lý nhiều thực thể Cơ sở dữ liệu theo thời gian thực
Một dự án Firebase có thể có nhiều thực thể Cơ sở dữ liệu theo thời gian thực của Firebase. Theo mặc định, các lệnh CLI tương tác với thực thể cơ sở dữ liệu mặc định của bạn.
Tuy nhiên, bạn có thể tương tác với một thực thể cơ sở dữ liệu không phải là thực thể mặc định bằng cách sử dụng cờ --instance DATABASE_NAME
--instance
:
firebase database:get
firebase database:profile
firebase database:push
firebase database:remove
firebase database:set
firebase database:update
Tham chiếu lệnh
Lệnh quản trị CLI
Lệnh | Mô tả |
---|---|
trợ giúp | Hiện thông tin trợ giúp về CLI hoặc các lệnh cụ thể. |
init | Liên kết và thiết lập một dự án Firebase mới trong thư mục hiện tại.
Lệnh này sẽ tạo một tệp cấu hình firebase.json trong thư mục hiện tại. |
login | Xác thực CLI với tài khoản Firebase của bạn. Cần có quyền truy cập vào một trình duyệt web. Để đăng nhập vào CLI trong các môi trường từ xa không cho phép truy cập vào localhost , hãy sử dụng cờ --no-localhost |
login:ci | Tạo mã thông báo xác thực để sử dụng trong các môi trường không tương tác. |
đăng xuất | Đăng xuất CLI khỏi tài khoản Firebase của bạn. |
mở | Mở trình duyệt cho các tài nguyên dự án có liên quan. |
projects:list (dự án:danh sách) | Liệt kê tất cả dự án Firebase mà bạn có quyền truy cập. |
sử dụng | Đặt dự án Firebase đang hoạt động cho CLI. Quản lý các bí danh của dự án. |
Các lệnh quản lý dự án
Lệnh | Mô tả | |
---|---|---|
Quản lý dự án Firebase | ||
dự án:addfirebase | Thêm các tài nguyên Firebase vào một dự án hiện có trên Google Cloud. | |
projects:create | Tạo một dự án mới trên Google Cloud, sau đó thêm tài nguyên Firebase vào dự án mới đó. | |
projects:list (dự án:danh sách) | Liệt kê tất cả dự án Firebase mà bạn có quyền truy cập. | |
Quản lý ứng dụng Firebase (iOS, Android, Web) | ||
ứng dụng:tạo | Tạo một ứng dụng Firebase mới trong dự án đang hoạt động. | |
apps:list | Liệt kê các Ứng dụng Firebase đã đăng ký trong dự án đang hoạt động. | |
apps:sdkconfig | In cấu hình dịch vụ của Google của ứng dụng Firebase. | |
setup:web | Không dùng nữa. Thay vào đó, hãy sử dụng apps:sdkconfig và chỉ định web làm đối số nền tảng.In cấu hình các dịch vụ của Google của một ứng dụng web Firebase. |
|
Quản lý hàm băm chứng chỉ SHA (chỉ Android) | ||
apps:android:sha:create \ FIREBASE_APP_ID SHA_HASH |
Thêm hàm băm chứng chỉ SHA đã chỉ định vào Ứng dụng Android Firebase đã chỉ định. | |
apps:android:sha:delete \ FIREBASE_APP_ID SHA_HASH |
Xoá hàm băm chứng chỉ SHA đã chỉ định khỏi Ứng dụng Android Firebase đã chỉ định. | |
apps:android:sha:list \ FIREBASE_APP_ID |
Liệt kê hàm băm chứng chỉ SHA cho Ứng dụng Android Firebase đã chỉ định. |
Triển khai và phát triển cục bộ
Các lệnh này cho phép bạn triển khai và tương tác với trang web Lưu trữ Firebase.
Lệnh | Mô tả |
---|---|
triển khai | Triển khai mã và tài sản từ thư mục dự án sang dự án đang hoạt động. Đối với tính năng Lưu trữ Firebase, bạn phải có tệp cấu hình
firebase.json .
|
phân phát | Khởi động một máy chủ web cục bộ với cấu hình Lưu trữ Firebase.
Đối với tính năng Lưu trữ Firebase, bạn phải có tệp cấu hình
firebase.json . |
Lệnh Phân phối ứng dụng
Lệnh | Mô tả |
---|---|
appphân phối:phân phối \ --ứng dụng FIREBASE_APP_ID |
Cung cấp bản dựng cho người kiểm thử. |
appdistribution:testers:add | Thêm người kiểm thử vào dự án. |
appdistribution:testers:remove | Xoá người kiểm thử khỏi dự án. |
Lệnh Lưu trữ ứng dụng
Lệnh | Mô tả |
---|---|
apphosting:backends:create \ --project PROJECT_ID --location REGION --app APP_ID |
Tạo tập hợp tài nguyên được quản lý được liên kết với một cơ sở mã duy nhất bao gồm một phần phụ trợ Lưu trữ ứng dụng. Bạn có thể chỉ định một ứng dụng web Firebase hiện có theo mã ứng dụng Firebase (không bắt buộc). |
apphosting:backends:get \
BACKEND_ID --project PROJECT_ID --location REGION |
Truy xuất thông tin chi tiết cụ thể, bao gồm cả URL công khai, của một phần phụ trợ. |
apphosting:backends:list \ --project PROJECT_ID |
Truy xuất danh sách tất cả các phần phụ trợ đang hoạt động có liên kết với một dự án. |
firebase apphosting:backends:delete \
BACKEND_ID --dự án PROJECT_ID --vị trí REGION |
Xoá một phần phụ trợ khỏi dự án. |
apphosting:secrets:set \ KEY --dự án PROJECT_ID --vị trí REGION --tệp dữ liệu Data file |
Lưu trữ tài liệu bí mật trong Secret Manager. Nếu muốn, hãy cung cấp một
đường dẫn tệp để đọc dữ liệu bí mật. Đặt thành _ để đọc dữ liệu bí mật từ phương thức nhập tiêu chuẩn.
|
apphosting:secrets:grantaccess \ KEY --dự án PROJECT_ID BACKEND_ID --vị trí REGION |
Cấp cho tài khoản dịch vụ phụ trợ quyền truy cập vào giá trị bí mật đã cung cấp để tính năng Lưu trữ ứng dụng có thể truy cập vào tài khoản đó trong thời gian xây dựng hoặc chạy. |
apphosting:secrets:describe \ KEY --project PROJECT_ID |
Lấy siêu dữ liệu cho một khoá bí mật và các phiên bản của khoá đó. |
firebase apphosting:secrets:access \ KEY[@version] --dự án PROJECT_ID |
Truy cập vào một giá trị bí mật đã cung cấp cho khoá bí mật và phiên bản của khoá bí mật đó. Mặc định truy cập vào phiên bản mới nhất. |
Lệnh xác thực (quản lý người dùng)
Lệnh | Mô tả |
---|---|
auth:export: (xuất) | Xuất tài khoản người dùng của dự án đang hoạt động sang tệp JSON hoặc CSV. Để biết thêm thông tin chi tiết, hãy tham khảo trang auth:import và auth:export. |
auth:nhập | Nhập tài khoản người dùng từ tệp JSON hoặc CSV vào dự án đang hoạt động. Để biết thêm thông tin chi tiết, hãy tham khảo trang auth:import và auth:export. |
Các lệnh trong Cloud Firestore
Lệnh | Mô tả |
---|---|
firestore:locations |
Liệt kê các vị trí hiện có cho cơ sở dữ liệu Cloud Firestore của bạn. |
firestore:databases:create DATABASE_ID |
Tạo một thực thể cơ sở dữ liệu ở chế độ gốc trong dự án Firebase. Lệnh này sẽ nhận các cờ sau:
|
firestore:databases:list |
Liệt kê các cơ sở dữ liệu trong dự án Firebase của bạn. |
firestore:databases:get DATABASE_ID |
Lấy cấu hình cơ sở dữ liệu cho một cơ sở dữ liệu được chỉ định trong dự án Firebase của bạn. |
firestore:databases:update DATABASE_ID |
Cập nhật cấu hình cơ sở dữ liệu của một cơ sở dữ liệu đã chỉ định trong dự án Firebase của bạn. Bắt buộc phải có ít nhất một cờ. Lệnh này sẽ nhận các cờ sau:
|
firestore:databases:delete DATABASE_ID |
Xoá cơ sở dữ liệu trong dự án Firebase. |
firestore:indexes |
Liệt kê các chỉ mục cho một cơ sở dữ liệu trong dự án Firebase của bạn. Lệnh này sẽ lấy cờ sau:
|
firestore:delete |
Xoá tài liệu trong cơ sở dữ liệu của dự án đang hoạt động. Khi sử dụng CLI, bạn có thể xoá tất cả tài liệu trong một tập hợp theo quy tắc đệ quy. Xin lưu ý rằng việc xoá dữ liệu Cloud Firestore bằng CLI sẽ phát sinh chi phí đọc và xoá. Để biết thêm thông tin, hãy xem bài viết Tìm hiểu về cách thanh toán Cloud Firestore. Lệnh này sẽ lấy cờ sau:
|
Hàm Cloud cho các lệnh Firebase
Lệnh | Mô tả |
---|---|
hàm:config:clone | Sao chép môi trường của một dự án khác vào dự án Firebase đang hoạt động. |
hàm:config:get | Truy xuất các giá trị cấu hình hiện có của Cloud Functions thuộc dự án đang hoạt động. |
hàm:config:set | Lưu trữ các giá trị cấu hình thời gian chạy của các Chức năng đám mây của dự án đang hoạt động. |
hàm:config:unset | Xoá các giá trị khỏi cấu hình thời gian chạy của dự án đang hoạt động. |
hàm:log | Đọc nhật ký từ các Chức năng đám mây đã triển khai. |
Để biết thêm thông tin, hãy tham khảo tài liệu về cấu hình môi trường.
Các lệnh trong Crashlytics
Lệnh | Mô tả |
---|---|
Crashlytics:mappingfile:generateid \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML |
Tạo một mã tệp ánh xạ duy nhất trong tệp tài nguyên Android (XML) được chỉ định. |
Crashlytics:mappingfile:upload \ --app=FIREBASE_APP_ID \ --resource-file=PATH/TO/ANDROID_RESOURCE.XML \ PATH/TO/MAPPING_FILE.TXT |
Tải tệp ánh xạ tương thích với Proguard (TXT) lên cho ứng dụng này và liên kết tệp đó với mã tệp ánh xạ được khai báo trong tệp tài nguyên Android (XML) được chỉ định. |
Crashlytics:symbols:upload \ --app=FIREBASE_APP_ID \ PATH/TO/SYMBOLS |
Tạo một tệp biểu tượng tương thích với Crashlytics khi thư viện gốc gặp sự cố trên Android rồi tải tệp đó lên máy chủ Firebase. |
Lệnh cho tiện ích
Lệnh | Mô tả |
---|---|
phần mở rộng | Hiển thị thông tin về cách sử dụng lệnh Tiện ích Firebase. Liệt kê các thực thể tiện ích được cài đặt trong dự án đang hoạt động. |
ext:định cấu hình \ EXTENSION_INSTANCE_ID |
Định cấu hình lại các giá trị tham số của một thực thể tiện ích trong tệp kê khai tiện ích. |
ext:info \ PUBLISHER_ID/EXTENSION_ID |
In thông tin chi tiết về một tiện ích. |
ext:cài đặt \ PUBLISHER_ID/EXTENSION_ID |
Thêm thực thể mới của một tiện ích vào tệp kê khai tiện ích. |
ext:list | Liệt kê tất cả các bản sao tiện ích được cài đặt trong một dự án Firebase. In mã thực thể cho từng tiện ích. |
phần mở rộng:gỡ cài đặt \ EXTENSION_INSTANCE_ID |
Xoá một thực thể tiện ích khỏi tệp kê khai tiện ích. |
ext:update \ EXTENSION_INSTANCE_ID |
Cập nhật một thực thể tiện ích lên phiên bản mới nhất trong tệp kê khai tiện ích. |
ext:export | Xuất mọi thực thể tiện ích đã cài đặt từ dự án của bạn sang tệp kê khai tiện ích. |
Lệnh của nhà xuất bản tiện ích
Lệnh | Mô tả |
---|---|
ext:dev:init | Khởi động cơ sở mã skeleton cho một tiện ích mới trong thư mục hiện tại. |
ext:dev:list \ PUBLISHER_ID |
In danh sách tất cả các tiện ích do nhà xuất bản tải lên. |
ext:dev:register | Đăng ký một dự án Firebase dưới dạng một dự án nhà xuất bản tiện ích. |
ext:dev:deprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Không dùng nữa các phiên bản tiện ích khớp với thuộc tính phiên bản. Thuộc tính phiên bản có thể là một phiên bản duy nhất (chẳng hạn như 1.0.0 ) hoặc một loạt phiên bản (chẳng hạn như >1.0.0 ).Nếu bạn không cung cấp thuộc tính phiên bản, thì mọi phiên bản của tiện ích đó sẽ không được dùng nữa. |
ext:dev:undeprecate \ PUBLISHER_ID/EXTENSION_ID \ VERSION_PREDICATE |
Phiên bản tiện ích Undeprecates khớp với thuộc tính phiên bản. Thuộc tính phiên bản có thể là một phiên bản (chẳng hạn như 1.0.0 ) hoặc một loạt phiên bản (chẳng hạn như >1.0.0 ).Nếu bạn không cung cấp thuộc tính phiên bản, thì mọi phiên bản của tiện ích đó sẽ không bị ngừng sử dụng. |
ext:dev:upload \ PUBLISHER_ID/EXTENSION_ID |
Tải phiên bản tiện ích mới lên. |
ext:dev:usage \ PUBLISHER_ID |
Hiển thị số lượt cài đặt và chỉ số sử dụng cho các tiện ích do nhà xuất bản tải lên. |
Lệnh lưu trữ
Lệnh | Mô tả |
---|---|
hosting:disable |
Ngừng phân phát lưu lượng truy cập Lưu trữ Firebase cho dự án Firebase đang hoạt động. URL lưu trữ của dự án sẽ hiển thị thông báo "Không tìm thấy trang web" sau khi chạy lệnh này. |
Quản lý trang web lưu trữ | |
trang lưu trữ firebase:sites:create \ SITE_ID |
Tạo một trang web Lưu trữ mới trong dự án Firebase đang hoạt động bằng cách sử dụng (Không bắt buộc) Chỉ định một Ứng dụng web Firebase hiện có để liên kết với trang web mới bằng cách truyền cờ sau:
|
trang lưu trữ firebase:sites:delete \ SITE_ID |
Xoá trang web Lưu trữ đã chỉ định CLI hiển thị lời nhắc xác nhận trước khi xoá trang web. (Không bắt buộc) Bỏ qua lời nhắc xác nhận bằng cách truyền các cờ sau: |
trang lưu trữ firebase:sites:get \ SITE_ID |
Truy xuất thông tin về trang web Lưu trữ đã chỉ định |
trang lưu trữ firebase:sites:list |
Liệt kê tất cả trang web Lưu trữ của dự án Firebase đang hoạt động |
Quản lý các kênh xem trước | |
lưu trữ firebase:channel:create \ CHANNEL_ID |
Tạo một kênh xem trước mới trên trang web lưu trữ mặc định bằng Lệnh này không triển khai cho kênh. |
lưu trữ firebase:channel:delete \ CHANNEL_ID |
Xoá kênh xem trước đã chỉ định Bạn không thể xoá kênh trực tiếp của một trang web. |
lưu trữ firebase:channel:implementation \ CHANNEL_ID |
Triển khai nội dung và cấu hình Lưu trữ của bạn cho kênh xem trước đã chỉ định Nếu chưa có kênh xem trước, lệnh này sẽ tạo kênh trên trang web lưu trữ default trước khi triển khai cho kênh. |
trang lưu trữ firebase:channel:list | Liệt kê tất cả các kênh (bao gồm cả kênh "trực tiếp") trên trang web lưu trữ mặc định |
lưu trữ firebase:channel:open \ CHANNEL_ID |
Mở trình duyệt dẫn đến URL của kênh đã chỉ định hoặc trả về URL nếu không thể mở trong trình duyệt |
Sao chép phiên bản | |
lưu trữ firebase:clone \ SOURCE_SITE_ID:SOURCE_CHANNEL_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Sao chép phiên bản được triển khai gần đây nhất trên kênh "nguồn" được chỉ định vào kênh "mục tiêu" đã chỉ định Lệnh này cũng triển khai kênh "mục tiêu" đã chỉ định. Nếu kênh "mục tiêu" chưa tồn tại, lệnh này sẽ tạo một kênh xem trước mới trên trang web lưu trữ "mục tiêu" trước khi triển khai cho kênh. |
lưu trữ firebase:clone \ SOURCE_SITE_ID:@VERSION_ID \ TARGET_SITE_ID:TARGET_CHANNEL_ID |
Sao chép phiên bản đã chỉ định vào kênh "target" đã chỉ định Lệnh này cũng triển khai kênh "mục tiêu" đã chỉ định. Nếu kênh "mục tiêu" chưa tồn tại, lệnh này sẽ tạo một kênh xem trước mới trên trang web lưu trữ "mục tiêu" trước khi triển khai cho kênh. Bạn có thể tìm thấy |
Các lệnh trong Cơ sở dữ liệu theo thời gian thực
Xin lưu ý rằng bạn có thể tạo thực thể ban đầu, mặc định của Cơ sở dữ liệu theo thời gian thực trong bảng điều khiển của Firebase hoặc bằng cách sử dụng quy trình công việc firebase init
chung hoặc quy trình firebase init database
cụ thể.
Sau khi tạo các thực thể, bạn có thể quản lý các thực thể đó như đã thảo luận trong bài viết Quản lý nhiều thực thể Cơ sở dữ liệu theo thời gian thực.
Lệnh | Mô tả |
---|---|
cơ_sở_dữ_liệu:nhận | Tìm nạp dữ liệu từ cơ sở dữ liệu của dự án đang hoạt động và hiển thị dữ liệu đó dưới dạng JSON. Hỗ trợ truy vấn dữ liệu đã lập chỉ mục. |
database:instances:create | Tạo một thực thể cơ sở dữ liệu có tên thực thể đã chỉ định. Chấp nhận tuỳ chọn --location để tạo cơ sở dữ liệu trong một khu vực đã chỉ định. Để biết tên khu vực có thể sử dụng với tuỳ chọn này, hãy xem phần chọn vị trí cho dự án của bạn.
Nếu không có thực thể cơ sở dữ liệu nào cho dự án hiện tại, bạn sẽ được nhắc chạy quy trình firebase init để tạo một thực thể.
|
database:instances:list | Liệt kê tất cả thực thể cơ sở dữ liệu của dự án này. Chấp nhận tuỳ chọn --location để liệt kê cơ sở dữ liệu trong một khu vực cụ thể. Để biết tên khu vực có thể sử dụng với tuỳ chọn này, hãy xem phần chọn vị trí cho dự án của bạn. |
database:profile | Xây dựng hồ sơ thao tác trên cơ sở dữ liệu của dự án đang hoạt động. Để biết thêm thông tin, hãy tham khảo Các loại thao tác của Cơ sở dữ liệu theo thời gian thực. |
database:push | Đẩy dữ liệu mới vào một danh sách tại một vị trí đã chỉ định trong cơ sở dữ liệu của dự án đang hoạt động. Lấy dữ liệu đầu vào từ một tệp, STDIN hoặc một đối số dòng lệnh. |
cơ sở dữ liệu:xoá | Xoá tất cả dữ liệu tại một vị trí đã chỉ định trong cơ sở dữ liệu của dự án đang hoạt động. |
database:set | Thay thế tất cả dữ liệu tại một vị trí cụ thể trong cơ sở dữ liệu của dự án đang hoạt động. Lấy dữ liệu đầu vào từ một tệp, STDIN hoặc một đối số dòng lệnh. |
database:update | Thực hiện cập nhật một phần tại một vị trí đã chỉ định trong cơ sở dữ liệu của dự án đang hoạt động. Lấy dữ liệu đầu vào từ một tệp, STDIN hoặc một đối số dòng lệnh. |
Các lệnh Cấu hình từ xa
Lệnh | Mô tả |
---|---|
remoteconfig:versions:list \ --giới hạn NUMBER_OF_VERSIONS |
Liệt kê 10 phiên bản mẫu gần đây nhất. Hãy chỉ định 0 để trả về mọi phiên bản hiện có hoặc truyền tuỳ chọn --limit (không bắt buộc) để giới hạn số lượng phiên bản được trả về. |
remoteconfig:get \ --v, version_number VERSION_NUMBER --o, đầu ra FILENAME |
Lấy mẫu theo phiên bản (mặc định là phiên bản mới nhất) và xuất các nhóm thông số, tham số, tên điều kiện và phiên bản vào một bảng. Nếu muốn, bạn có thể ghi đầu ra vào một tệp được chỉ định bằng -o, FILENAME . |
remoteconfig:rollback \ --v, version_number VERSION_NUMBER --force |
Khôi phục mẫu Cấu hình từ xa về một số phiên bản trước đó được chỉ định hoặc đặt mặc định về phiên bản trước đó (phiên bản hiện tại -1). Trừ phi --force được truyền, hãy nhắc Y/N trước khi tiếp tục khôi phục. |