4.1 [GD1.1] Khởi tạo dự án
Giai đoạn này chuẩn bị môi trường để thực hiện yêu cầu [FR3]
Bước 1. Tạo cấu trúc thư mục gồm tên dự án Ebook2LateX, backend/ và frontend/ như sơ đồ
- Trong ổ đĩa D, tạo thư mục Ebook2LateX
- Trong thư mục Ebook2LateX tạo 2 thư mục backend và frontend
- Trong thư mục backend và frontend, tạo tập tin README.md (tập tin README.md chưa cần có nội dung)
Bước 2. Khởi tạo Git
- Tải và cài đặt phần mềm Git vào máy tính
- Sau khi cài đặt xong, mở cửa sổ dòng lệnh (CMD), gõ lệnh: git -v, nếu có thông tin về phiên bản là Git đã sẵn sàng để làm việc. Ví dụ:
C:\Users\VIET HOANG - VTS>git -v
git version 2.52.0.windows.1
- Nhúng Git vào trong thư mục dự án: Trong cửa sổ CMD, di chuyển dấu nhắc lệnh vào trong thư mục Ebook2LateX. Chạy lệnh git init
D:\DuAn\Ebook2LateX>git init
Initialized empty Git repository in D:/DuAn/Ebook2LateX/.git/
- Tạo file: .gitignore
Mục đích của tập tin .gitignore là để loại trừ các tập tin và thư mục khi lưu trạng thái của dự án vào kho chứa .git, nhằm tăng tốc độ lưu trạng thái và giảm dung lượng của kho chứa. Các tập tin và thư mục không cần thiết sẽ không cần phải lưu trạng thái. Ngoài ra, các tập tin lưu thông tin quan trọng cũng không nên lưu vào kho chứa, vì bạn có thể vô tình đẩy lên Github và mọi người sẽ thấy được thông tin này, ví dụ tập tin .env chứa mật khẩu Database.
Bạn nên tham khảo trên mạng về cách tạo tập tin .gitignore, hoặc sử dụng một số tập tin .gitignore tạo sẵn, phù hợp với dự án của bạn.
Ví dụ, cách tạo tập tin .gitignore:
+ Truy cập trang web gitignore.io
+ Nhập các từ khóa công nghệ bạn đang dùng cho dự án: Python, Node, React, Windows VisualStudioCode
+ Bấm Create. Trang web sẽ tạo ra một danh sách đầy đủ các tập tin/thư mục cần loại bỏ. Bạn chỉ cần chép và dán vào tập tin .gitignore. Bạn cần đảm bảo là đã tạo tập tin .gitignore (không có phần mở rộng) trong thư mục gốc của dự án (Book2LateX).
Bước 3. Thực hiện commit lần đầu cho dự án
Để thực hiện “commit lần đầu” cho dự án Ebook2LateX, bạn cần thực hiện theo các bước chi tiết dưới đây tại cửa sổ dòng lệnh (CMD)
Việc này giúp ghi lại trạng thái đầu tiên của mã nguồn (bao gồm cấu trúc thư mục backend và frontend) vào hệ thống quản lý của Git
- Đảm bảo dấu nhắc lệnh của bạn đang nằm đúng thư mục gốc của dự án:
d:
cd DuAn\Ebook2LateX
- Kiểm tra trạng thái hiện tại. Trước khi lưu, bạn nên xem Git đang nhận diện những gì:
git status
Lúc này, bạn sẽ thấy các thư mục backend/, frontend/ và tập tin .gitignore hiện lên với màu đỏ (Untracked files - chưa được theo dõi)
- Đưa các tập tin/thư mục vào "Vùng chờ" (Staging Area). Sử dụng lệnh sau để nói với Git rằng bạn muốn lưu tất cả các tập tin hiện có:
git add .
(Dấu chấm tượng trưng cho tất cả các file trong thư mục hiện tại)
- Thực hiện lệnh Commit (Ghi lại lịch sử). Đây là bước quan trọng nhất để tạo một "điểm khôi phục" đầu tiên cho dự án:
git commit -m "Initial commit: Khoi tao cau truc thu muc backend va frontend cho Ebook2LateX"
-m: Viết tắt của "message" (thông điệp)
Nội dung trong ngoặc kép: Là mô tả ngắn gọn về những gì bạn đã làm. Điều này giúp các thành viên khác hoặc chính bạn sau này biết được bản commit này chứa thay đổi gì
- Kiểm tra kết quả. Sau khi commit xong, bạn gõ lệnh:
git log
Màn hình sẽ hiển thị thông tin về bản commit bạn vừa tạo, bao gồm: Mã định danh (Hash), Tác giả (Author), Ngày giờ và nội dung thông điệp bạn vừa viết.
Bước 4. Tạo repo trên Github
Mục đích: để bạn chia sẻ mã nguồn cho các thành viên khác.
+ Bạn cần tạo tài khoản trên Github
+ Khi đăng nhập vào tài khoản, Github yêu cầu bạn chứng thực 2FA (Two-Factor Authentication), đây là kiểu chứng thực giúp bạn bảo vệ tài khoản Github, tránh việc bị mất tài khoản. Bạn có thể sử dụng công cụ Authy.
+ Ý tưởng của chứng thực 2FA: khi bạn đăng nhập vào Github > Github sẽ kích hoạt ứng dụng Authy > ứng dụng Authy sẽ sinh ra 6 số > bạn nhập 6 số này vào Github. Ý tưởng giống khi bạn nhập mã OTP khi chuyển khoản ngân hàng.
Các bước để tạo repo trên Github:
+ Đảm bảo bạn đã đăng nhập vào tài khoản Github
+ Tại trang chủ hoặc trang cá nhân, nhấn vào biểu tượng dấu + ở góc trên cùng bên phải và chọn New repository
+ Điền các thông tin sau:
Repository name: Nhập tên dự án (ví dụ: Ebook2LateX)
Public/Private: Trong mục Configuration > Choose visibility > chọn Public nếu bạn muốn chia sẻ công khai, hoặc Private nếu chỉ muốn các thành viên được mời mới thấy được mã nguồn
Initialize this repository with: Vì bạn đã khởi tạo Git ở máy cục bộ (local) rồi, nên không tích vào các mục Add a README file, Add .gitignore hay Choose a license để tránh xung đột khi đẩy mã nguồn lên lần đầu
- Nhấn nút Create repository
Bước 5. Kết nối máy tính với GitHub (Dùng dòng lệnh CMD)
Sau khi tạo xong, GitHub sẽ hiện ra một trang hướng dẫn. Bạn đọc để có thêm thông tin.
Bạn mở cửa sổ CMD, di chuyển dấu nhắc lệnh vào thư mục dự án (ví dụ: thư mục D:\DuAn\Ebook2LateX) và chạy các lệnh sau:
- Thêm địa chỉ Remote (kết nối thư mục trên máy tính với Github):
git remote add origin https://github.com/ten-tai-khoan-cua-ban/Ebook2LateX.git
(Thay link trên bằng link thực tế mà Github cung cấp cho bạn)
Bước 6. Đặt tên nhánh chính
git branch -M main
(Github hiện nay ưu tiên tên nhánh chính là main thay vì master).
Bước 7. Đẩy kho chứa cục bộ lên Github (Push)
git push -u origin main
Trong đó,
- git push: Là lệnh yêu cầu Git đẩy các bản ghi (commits) từ kho chứa cục bộ lên một kho chứa từ xa
- origin: Đây là tên hiệu (alias) đại diện cho địa chỉ URL của kho chứa trên Github. Thay vì phải gõ một đường dẫn dài như https://github.com/user/Ebook2LateX.git, bạn chỉ cần gọi tên origin. (Tên này thường được thiết lập ở bước git remote add origin...)
- main: Đây là tên của nhánh (branch) mà bạn muốn đẩy lên. Hiện nay, main là tên nhánh chính mặc định trên Github
- u (viết tắt của --set-upstream): Đây là phần quan trọng nhất cho lần đẩy đầu tiên. Nó thiết lập một mối liên kết theo dõi giữa nhánh main ở máy bạn và nhánh main trên Github
Bước 8: Kiểm tra kết quả
Sau khi chạy lệnh git push thành công, bạn quay lại trình duyệt và tải lại (F5) trang Repository trên Github. Toàn bộ cấu trúc thư mục backend/ và frontend/ của bạn sẽ xuất hiện trên đó.
Bây giờ bạn có thể gửi đường liên kết URL của Repo này cho các thành viên khác để họ có thể git clone hoặc phối hợp làm việc chung. (Ví dụ: https://github.com/legiacong/Ebook2LateX.git)
-----