Bắt đầu¶
Các thành phần chính¶
When working with Odoo.sh, it is important to understand the main components involved:
While they are all interconnected, each one plays a distinct role in the development and deployment of Odoo applications. Together, they form a cohesive pipeline from code development to a live business use.
GitHub repository¶
A GitHub repository is like a folder on your computer that contains all the files and folders for a specific project. The difference is that it's stored on GitHub and can be accessed and edited by multiple people on different computers.
In other words, a GitHub repository is a place where you can store your project's files and share them with others, so they can collaborate with you, make changes, and contribute to your project. It also tracks all changes to your project over time, so you can easily roll back to a previous version if needed.
Additionally, GitHub offers many features to help you manage your project, such as issue tracking, pull requests, and code reviews. It's a powerful tool for managing and collaborating on software projects, and is widely used by developers around the world. a version-controlled space where the Odoo applications' source code is stored. It tracks every change, supports collaboration, and can be either public or private.
Odoo.sh project¶
An Odoo.sh project is a Platform as a Service (PaaS) that integrates with GitHub and enables streamlined development, testing, and deployment of Odoo applications. It includes tools such as automated backups, staging environments, and continuous integration pipelines.
Cơ sở dữ liệu Odoo¶
An Odoo database stores all the operational data used and generated by Odoo applications, such as business records, configurations, and user data.
Loại người dùng¶
Odoo.sh liên quan đến các loại người dùng khác nhau, mỗi loại có vai trò cụ thể trong vòng đời dự án:
GitHub users: developers with access to the GitHub repository linked to the Odoo.sh project. Access to the repository does not automatically make someone a collaborator on the Odoo.sh project.
Odoo.sh collaborators: individuals managing the Odoo.sh project. Each collaborator must be linked to a GitHub user. However, collaborators are not the same as database users.
Database users: end-users of the deployed Odoo database. They interact with the live system but are not involved in development or project management.
Khái niệm kỹ thuật¶
Khi làm việc với Odoo.sh, điều quan trọng là cũng cần hiểu một số khái niệm kỹ thuật sau:
Tạo bản sao kho lưu trữ (fork)¶
Fork một kho lưu trữ trên GitHub là việc tạo một bản sao của kho lưu trữ của người khác trên tài khoản của riêng bạn. Điều này cho phép bạn thực hiện thay đổi trên kho lưu trữ mà không ảnh hưởng đến phiên bản gốc.
Khi bạn fork một kho lưu trữ, bạn tạo ra bản sao riêng của kho lưu trữ đó, bao gồm đầy đủ tất cả các tệp và thư mục có trong kho lưu trữ gốc. Sau đó, bạn có thể thực hiện thay đổi trên các tệp trong bản sao kho lưu trữ của mình và commit chúng, giống như bạn làm với bất kỳ kho lưu trữ nào khác.
Lợi ích của việc fork một kho lưu trữ là bạn có thể thực hiện thay đổi trên mã nguồn mà không ảnh hưởng đến phiên bản gốc. Điều này hữu ích khi bạn muốn thử nghiệm các tính năng mới hoặc sửa lỗi trong mã nguồn của người khác. Bạn cũng có thể sử dụng kho lưu trữ đã fork làm điểm khởi đầu cho dự án của mình, thực hiện các thay đổi khi cần.
Sau khi đã thực hiện thay đổi trên kho lưu trữ đã fork, bạn có thể gửi một pull request đến chủ sở hữu kho lưu trữ gốc, yêu cầu họ hợp nhất các thay đổi của bạn vào kho lưu trữ của họ. Đây là cách tiếp cận phổ biến để các dự án mã nguồn mở chấp nhận đóng góp từ các nhà phát triển khác, và đây có thể là cách tuyệt vời để tham gia vào cộng đồng cũng như cải thiện kỹ năng lập trình của bạn.
Đẩy một commit¶
Khi bạn thực hiện thay đổi trên một hoặc nhiều tệp trong kho lưu trữ Git trên máy tính cục bộ, những thay đổi đó được coi là chưa commit. Nói cách khác, Git biết rằng đã có thay đổi được thực hiện, nhưng chúng chưa được lưu hoặc ghi nhận chính thức.
Để lưu những thay đổi đó và thêm chúng vào kho lưu trữ Git, bạn cần tạo một commit. Commit là bản chụp nhanh các thay đổi bạn đã thực hiện trên các tệp tại một thời điểm cụ thể. Nó ghi lại những thay đổi nào đã được thực hiện, ai đã thực hiện và khi nào.
Sau khi đã tạo một commit, bạn có thể đẩy (push) nó đến một kho lưu trữ từ xa, chẳng hạn như kho lưu trữ được lưu trữ trên GitHub. Đẩy một commit nghĩa là gửi các thay đổi bạn đã thực hiện trong commit từ kho lưu trữ cục bộ của bạn đến kho lưu trữ từ xa để người khác có thể xem và sử dụng chúng.
Tóm lại, đẩy một commit nghĩa là gửi các thay đổi bạn đã thực hiện trên các tệp trong kho lưu trữ Git từ máy tính cục bộ của bạn đến kho lưu trữ từ xa. Đây là cách để chia sẻ các thay đổi của bạn với người khác và cộng tác trên một dự án.
Hợp nhất một nhánh¶
Hợp nhất một nhánh vào nhánh khác là quá trình kết hợp các thay đổi được thực hiện trong một nhánh vào nhánh còn lại. Ví dụ: giả sử bạn đã tạo một nhánh mới có tên feature-branch để phát triển một tính năng mới cho dự án của mình. Sau khi hoàn tất việc thực hiện thay đổi trên nhánh này, bạn có thể hợp nhất các thay đổi đó trở lại nhánh chính (thường được gọi là nhánh master hoặc main).
Khi bạn hợp nhất một nhánh, Git sẽ kiểm tra các thay đổi trong cả hai nhánh và cố gắng kết hợp chúng. Nếu có bất kỳ xung đột nào giữa các thay đổi được thực hiện trong hai nhánh, Git sẽ nhắc bạn giải quyết chúng trước khi hoàn tất việc hợp nhất (về mặt mã nguồn).