Bỏ qua để đến nội dung

Lưu dự án vào GitHub

Tóm tắtKết nối GitHub chỉ với một cú nhấp bằng GitHub App của MonstarX (không cần token — bạn tự chọn kho mã), rồi nhấn GitHub trên thanh trên cùng của dự án để tạo kho mã mới hoặc liên kết kho mã có sẵn. MonstarX đẩy toàn bộ dự án lên, rồi commit mọi thay đổi mình làm — đồng thời kéo về những gì bạn commit trên GitHub. Ứng dụng được nhập vào sẽ đồng bộ với nhánh monstarx, nên nhánh của bạn không bao giờ bị thay đổi.

GitHub là nơi lập trình viên lưu mã nguồn, kèm lịch sử của mọi thay đổi. Liên kết một dự án MonstarX với một kho mã GitHub (thư mục của dự án trên GitHub), hai bên sẽ luôn khớp nhau theo cả hai chiều: những gì MonstarX xây dựng được đẩy lên đó thành các commit, còn những gì bạn hoặc lập trình viên commit ở đó sẽ được đưa về MonstarX.

Tính năng này hữu ích khi lập trình viên muốn làm việc với mã nguồn trong trình soạn thảo của riêng họ, khi công ty bạn lưu toàn bộ mã nguồn trên GitHub, hoặc khi bạn triển khai từ GitHub — chẳng hạn như Railway.

Bạn chỉ cần kết nối GitHub một lần cho toàn bộ tài khoản MonstarX, từ Cài đặtTích hợp hoặc từ nút GitHub trong bất kỳ dự án nào. Cách dễ nhất là dùng GitHub App của MonstarX: không cần tạo hay dán token, và bạn quyết định chính xác những kho mã nào MonstarX được phép dùng.

  1. Nhấp vào Kết nối tài khoản GitHub cá nhân.

  2. GitHub mở ra và hỏi nơi cài đặt ứng dụng. Chọn tài khoản cá nhân của bạn (không phải một tổ chức).

  3. Chọn những kho mã MonstarX được phép dùng: All repositories, hoặc Only select repositories rồi đánh dấu những kho mã bạn muốn. Bạn có thể thay đổi sau trên GitHub.

  4. Nhấp vào Install, rồi Authorize khi GitHub yêu cầu xác nhận.

  5. Bạn quay về MonstarX. Thẻ hiện Đã kết nối · GitHub App.

Vài điều cần biết về GitHub App:

  • Không cần tổ chức phê duyệt. Ứng dụng chỉ cài vào tài khoản cá nhân của bạn. Nếu bạn lỡ chọn một tổ chức, MonstarX sẽ nhắc bạn cài vào tài khoản cá nhân rồi thử lại.
  • Kho mã mới được tạo trong tài khoản cá nhân của bạn. MonstarX luôn truy cập được kho mã do chính MonstarX tạo, kể cả khi bạn đã chọn Only select repositories.
  • Các kho mã bạn chọn chính là giới hạn. Muốn liên kết một kho mã có sẵn, đó phải là kho mã bạn đã cấp cho ứng dụng. Thêm kho mã trong phần cài đặt ứng dụng đã cài của GitHub.
  • Quyền truy cập chỉ có hiệu lực ngắn và được tự động gia hạn, đồng thời được lưu ở dạng mã hóa. Quyền này không bao giờ được gửi đến trình duyệt của bạn.

Nếu muốn, bạn còn hai cách khác:

CáchKhi nào nên dùng
Kho mã cá nhân với quyền truy cập hạn chế (trong Cài đặt: Kết nối kho mã cá nhân với quyền truy cập hạn chế)Bạn muốn MonstarX chỉ truy cập đúng một kho mã bằng token truy cập cá nhân (một mật khẩu bạn tạo trên GitHub cho một mục đích duy nhất). Tạo token loại fine-grained với chủ sở hữu tài nguyên là tài khoản cá nhân của bạn, chỉ chọn kho mã đó, và cấp quyền Contents: read and write. Hãy tạo kho mã trên GitHub trước; loại token này không tạo được kho mã mới.
Hoặc dùng cấp quyền qua GitHubBạn muốn đẩy mã lên kho mã của những tổ chức bạn là thành viên. Màn hình đăng nhập thông thường của GitHub có thể bao gồm quyền truy cập vào các tổ chức đó, nên hãy xem kỹ trước khi cho phép.

Sau khi kết nối, thẻ cho biết bạn kết nối bằng cách nào (GitHub App, Đã đăng nhập bằng GitHub hoặc Token truy cập cá nhân) và liệt kê mọi kho mã MonstarX đang cập nhật, kèm lần đồng bộ gần nhất của từng kho và chế độ đồng bộ Tự động hay Thủ công. Nếu sau này bạn kết nối bằng cách khác, kết nối mới sẽ thay thế kết nối cũ; các kho mã đã liên kết vẫn giữ liên kết.

  1. Mở dự án và nhấp vào GitHub trên thanh trên cùng. (Nút này cũng có trong Cài đặtXuất của dự án, dưới mục Lưu trong GitHub.)

  2. Nếu tài khoản của bạn chưa được kết nối, hãy kết nối ngay tại đó.

  3. Chọn Kho mã mới hoặc Kho mã có sẵn:

    • Kho mã mới — chọn Chủ sở hữu (bạn hoặc một tổ chức của bạn), nhập Tên kho mã, giữ nguyên dấu đánh ở Kho mã riêng tư trừ khi bạn muốn mọi người đều xem được mã nguồn, rồi nhấp vào Tạo kho mã và đẩy lên.
    • Kho mã có sẵn — nhập owner/repository hoặc dán địa chỉ github.com của kho mã, có thể thêm Nhánh (để trống thì dùng nhánh mặc định), rồi nhấp vào Liên kết và đồng bộ. Tài khoản của bạn cần có quyền đẩy mã lên kho đó.
  4. MonstarX đẩy toàn bộ dự án lên thành một kho mã sẵn sàng để triển khai. Nút GitHub sẽ có một chấm xanh lá khi đã đồng bộ.

Kho mã mới bắt đầu với một commit duy nhất, “Initial commit from MonstarX”. Với kho mã có sẵn, dự án được commit tiếp lên trên nhánh, và những tệp MonstarX không quản lý — LICENSE, workflow CI, tài liệu — không bao giờ bị động đến.

Mọi thứ mà tính năng Xuất cung cấp: mã nguồn của ứng dụng, các tệp framework của MonstarX, cấu hình để chạy và triển khai, các migration cơ sở dữ liệu, danh sách tên các giá trị bí mật ứng dụng cần (không bao giờ có giá trị thật), và một tệp README.

Một số thứ không bao giờ được đưa lên GitHub:

  • Giá trị bí mật, các hàng trong cơ sở dữ liệu và tệp đã tải lên của ứng dụng vẫn nằm ở MonstarX.
  • Các hàng nhập từ bảng tính không bao giờ được đẩy lên, vì kho mã có thể công khai và đó là thông tin của khách hàng bạn.
  • Tệp nhị phân và tệp lớn hơn 1 MB sẽ bị bỏ qua và được liệt kê trong nhật ký đồng bộ.

Khi Tự động đẩy mọi thay đổi đang bật (mặc định là bật), MonstarX đồng bộ:

  • sau mỗi yêu cầu làm thay đổi tệp của ứng dụng — nội dung commit chính là yêu cầu của bạn;
  • sau một lần QA tự động sửa lỗi;
  • sau khi bạn khôi phục một phiên bản;
  • sau khi bạn lưu hoặc xóa một tệp trong tab Mã nguồn.

Đồng bộ ngay trong menu GitHub giúp đẩy lên và kéo về bất cứ lúc nào bạn muốn. Tắt tính năng tự động đẩy nếu bạn muốn tự đồng bộ thủ công.

Điều gì xảy ra khi có người sửa mã trên GitHub?

Phần tiêu đề “Điều gì xảy ra khi có người sửa mã trên GitHub?”

Cứ commit trên GitHub như bình thường. Ở lần đồng bộ tiếp theo, MonstarX kéo các thay đổi về dự án:

  • Thay đổi ở các tệp riêng của ứng dụng (src/, public/, migrations/ và README.md) được đưa về MonstarX. Bản xem trước cập nhật, các migration cơ sở dữ liệu mới được chạy, và một phiên bản mang tên Từ GitHub: kèm tiêu đề commit xuất hiện trong Phiên bản.
  • Một thẻ trong cuộc trò chuyện, như “Đã lấy 3 tệp từ GitHub”, liệt kê các tệp, để cả bạn lẫn tác nhân MonstarX đều biết những gì đã thay đổi.
  • Thay đổi ở các tệp framework của MonstarX, như package.json hoặc cấu hình, sẽ nằm lại trên GitHub cho đến khi chính MonstarX thay đổi tệp đó lần tới.
  • Nếu cùng một tệp thay đổi ở cả hai bên, MonstarX giữ phiên bản của mình, còn GitHub giữ phiên bản của bạn trong lịch sử. Thẻ sẽ ghi chú “đã thay đổi ở cả hai bên — phiên bản của MonstarX được giữ nguyên”.
  • Kho mã, nhánh của kho và trạng thái Riêng tư hay Công khai.
  • Thời điểm đồng bộ gần nhất (Đã đồng bộ vài phút trước), hoặc Lần đồng bộ gần nhất thất bại kèm lý do.
  • Đồng bộ ngay và Mở kho mã.
  • Tự động đẩy mọi thay đổi.
  • Các lần đồng bộ gần đây — năm lần gần nhất, mỗi lần kèm commit tương ứng.
  • Hủy liên kết kho mã — ngừng đồng bộ. Kho mã vẫn còn trên GitHub.
  • Ngắt kết nối — ngắt kết nối tài khoản GitHub của bạn. Không có gì được đẩy lên cho đến khi bạn kết nối lại.

Còn ứng dụng tôi đã nhập từ GitHub thì sao?

Phần tiêu đề “Còn ứng dụng tôi đã nhập từ GitHub thì sao?”

Khi bạn nhập một ứng dụng từ một kho mã bạn có quyền đẩy mã lên, dự án vẫn giữ liên kết với kho mã đó — trên một nhánh mới tên monstarx, bắt đầu từ commit bạn đã nhập. Nhánh của bạn không bao giờ bị thay đổi. Khi đã hài lòng với các thay đổi của MonstarX, nút Mở pull request trong menu GitHub sẽ đưa bạn sang GitHub để hợp nhất.

Tôi có cần token GitHub không?

Không. Kết nối tài khoản GitHub cá nhân sẽ cài GitHub App của MonstarX: bạn đăng nhập trên GitHub, chọn kho mã, vậy là xong. Token truy cập cá nhân chỉ là phương án thay thế cho những ai muốn giới hạn MonstarX trong đúng một kho mã theo cách đó.

GitHub App có truy cập được tổ chức của công ty tôi không?

Không — ứng dụng chỉ cài vào tài khoản cá nhân của bạn và tạo kho mã mới ở đó. Muốn đẩy mã lên kho mã của một tổ chức, hãy kết nối bằng Hoặc dùng cấp quyền qua GitHub, hoặc nhờ tổ chức thêm bạn vào để bạn liên kết kho mã từ tài khoản của mình.

Sau này làm sao để cho MonstarX truy cập thêm một kho mã khác?

Trên GitHub, mở phần cài đặt GitHub App đã cài, chọn MonstarX và thêm kho mã đó (hoặc chuyển sang All repositories). Sau đó liên kết kho mã từ menu GitHub của dự án.

Kho mã của tôi có riêng tư không?

Kho mã mới mặc định là riêng tư — chỉ bỏ dấu ở Kho mã riêng tư nếu bạn muốn công khai mã nguồn. MonstarX không bao giờ đẩy lên giá trị bí mật hay dữ liệu của ứng dụng.

Tôi có liên kết được kho mã thuộc tổ chức của công ty không?

Được, nếu tài khoản GitHub của bạn có quyền đẩy mã lên kho đó. Dùng Kho mã có sẵn, hoặc chọn tổ chức làm Chủ sở hữu khi tạo kho mã mới.

Điều gì xảy ra nếu tôi hủy liên kết kho mã?

MonstarX ngừng đồng bộ. Kho mã cùng toàn bộ lịch sử vẫn còn trên GitHub, và bạn có thể liên kết lại sau.

Một lập trình viên đã sửa package.json trên GitHub. Vì sao thay đổi không được đồng bộ về?

Các tệp framework như package.json và cấu hình do MonstarX quản lý. Chỉnh sửa ở các tệp này nằm lại trên GitHub cho đến khi MonstarX thay đổi tệp đó lần tới; các lần đồng bộ sau không bao giờ âm thầm xóa bỏ những chỉnh sửa đó.

Tôi có triển khai được từ kho mã không?

Được. Kho mã đã sẵn sàng để triển khai, và Railway triển khai trực tiếp từ đó. Xem thêm Xuất bản lên nền tảng khác.

Liên kết sẽ ra sao nếu tôi chuyển quyền sở hữu dự án?

Liên kết bị gỡ bỏ, để không có gì được đẩy lên tài khoản GitHub của bạn thay mặt chủ sở hữu mới. Bản thân kho mã vẫn giữ nguyên.