55 KiB
Giới thiệu về GitHub
Chào bạn, nhà phát triển tương lai! 👋 Sẵn sàng tham gia cùng hàng triệu lập trình viên trên khắp thế giới chưa? Mình thực sự rất hào hứng giới thiệu với bạn về GitHub – hãy nghĩ về nó như một mạng xã hội dành cho lập trình viên, nhưng thay vì chia sẻ ảnh bữa trưa, chúng ta chia sẻ mã nguồn và cùng nhau xây dựng những điều tuyệt vời!
Điều khiến mình kinh ngạc là: mọi ứng dụng trên điện thoại của bạn, mọi trang web bạn truy cập, và hầu hết các công cụ bạn sẽ học cách sử dụng đều được xây dựng bởi các nhóm lập trình viên hợp tác trên các nền tảng như GitHub. Ứng dụng âm nhạc bạn yêu thích? Ai đó giống như bạn đã đóng góp vào nó. Trò chơi mà bạn không thể rời mắt? Đúng vậy, có lẽ cũng được xây dựng với sự hợp tác trên GitHub. Và bây giờ BẠN sẽ học cách trở thành một phần của cộng đồng tuyệt vời đó!
Mình biết điều này có thể khiến bạn cảm thấy hơi quá tải lúc đầu – mình cũng từng nhìn vào trang GitHub đầu tiên của mình và nghĩ "Cái này nghĩa là gì vậy trời?" Nhưng điều quan trọng là: mọi lập trình viên đều bắt đầu từ đúng vị trí mà bạn đang đứng. Đến cuối bài học này, bạn sẽ có kho lưu trữ GitHub của riêng mình (hãy nghĩ về nó như một nơi trưng bày dự án cá nhân trên đám mây), và bạn sẽ biết cách lưu công việc của mình, chia sẻ với người khác, và thậm chí đóng góp vào các dự án mà hàng triệu người đang sử dụng.
Chúng ta sẽ cùng nhau đi qua hành trình này, từng bước một. Không vội vàng, không áp lực – chỉ có bạn, mình, và một số công cụ cực kỳ thú vị sắp trở thành người bạn thân mới của bạn!
Sketchnote bởi Tomomi Imura
journey
title Your GitHub Adventure Today
section Setup
Install Git: 4: You
Create Account: 5: You
First Repository: 5: You
section Master Git
Local Changes: 4: You
Commits & Pushes: 5: You
Branching: 4: You
section Collaborate
Fork Projects: 4: You
Pull Requests: 5: You
Open Source: 5: You
Câu hỏi trước bài học
Giới thiệu
Trước khi chúng ta đi vào những điều thực sự thú vị, hãy chuẩn bị máy tính của bạn cho một chút phép thuật từ GitHub! Hãy nghĩ về điều này như việc sắp xếp dụng cụ nghệ thuật của bạn trước khi tạo ra một kiệt tác – có sẵn các công cụ phù hợp sẽ làm mọi thứ trở nên mượt mà hơn và thú vị hơn rất nhiều.
Mình sẽ hướng dẫn bạn qua từng bước thiết lập, và mình hứa rằng nó không hề đáng sợ như bạn nghĩ lúc đầu. Nếu có điều gì đó chưa hiểu ngay, điều đó hoàn toàn bình thường! Mình nhớ lần đầu tiên thiết lập môi trường phát triển của mình, cảm giác như đang cố gắng đọc chữ tượng hình cổ đại vậy. Mọi lập trình viên đều đã từng ở vị trí của bạn, tự hỏi liệu họ có làm đúng không. Bật mí: nếu bạn đang học, bạn đã làm đúng rồi! 🌟
Trong bài học này, chúng ta sẽ tìm hiểu:
- cách theo dõi công việc bạn làm trên máy tính của mình
- làm việc trên các dự án cùng người khác
- cách đóng góp vào phần mềm mã nguồn mở
Yêu cầu trước
Hãy chuẩn bị máy tính của bạn cho một chút phép thuật từ GitHub! Đừng lo – việc thiết lập này bạn chỉ cần làm một lần, và sau đó bạn sẽ sẵn sàng cho toàn bộ hành trình lập trình của mình.
Được rồi, hãy bắt đầu với nền tảng! Đầu tiên, chúng ta cần kiểm tra xem Git đã có sẵn trên máy tính của bạn chưa. Git về cơ bản giống như một trợ lý siêu thông minh, nhớ mọi thay đổi bạn thực hiện với mã nguồn của mình – tốt hơn nhiều so với việc nhấn Ctrl+S liên tục (ai cũng từng làm vậy!).
Hãy kiểm tra xem Git đã được cài đặt chưa bằng cách gõ lệnh ma thuật này trong terminal của bạn:
git --version
Nếu Git chưa có, đừng lo! Chỉ cần truy cập tải Git và tải về. Sau khi cài đặt xong, chúng ta cần giới thiệu Git với bạn một cách chính thức:
💡 Thiết lập lần đầu: Các lệnh này sẽ cho Git biết bạn là ai. Thông tin này sẽ được đính kèm vào mỗi lần commit bạn thực hiện, vì vậy hãy chọn một tên và email mà bạn cảm thấy thoải mái chia sẻ công khai.
git config --global user.name "your-name"
git config --global user.email "your-email"
Để kiểm tra xem Git đã được cấu hình chưa, bạn có thể gõ:
git config --list
Bạn cũng sẽ cần một tài khoản GitHub, một trình soạn thảo mã (như Visual Studio Code), và bạn cần mở terminal (hoặc: command prompt).
Truy cập github.com và tạo tài khoản nếu bạn chưa có, hoặc đăng nhập và điền thông tin hồ sơ của bạn.
💡 Mẹo hiện đại: Hãy cân nhắc thiết lập khóa SSH hoặc sử dụng GitHub CLI để xác thực dễ dàng hơn mà không cần mật khẩu.
✅ GitHub không phải là kho mã duy nhất trên thế giới; còn có những kho khác, nhưng GitHub là cái được biết đến nhiều nhất.
Chuẩn bị
Bạn sẽ cần một thư mục chứa dự án mã nguồn trên máy tính của mình (laptop hoặc PC), và một kho lưu trữ công khai trên GitHub, sẽ đóng vai trò làm ví dụ về cách đóng góp vào các dự án của người khác.
Giữ mã nguồn của bạn an toàn
Hãy nói về bảo mật một chút – nhưng đừng lo, chúng ta sẽ không làm bạn choáng ngợp với những điều đáng sợ! Hãy nghĩ về các thực hành bảo mật này như việc khóa xe hoặc nhà của bạn. Chúng là những thói quen đơn giản trở thành bản năng và giữ cho công việc của bạn được bảo vệ.
Chúng ta sẽ chỉ cho bạn những cách làm việc hiện đại, an toàn với GitHub ngay từ đầu. Bằng cách này, bạn sẽ phát triển những thói quen tốt sẽ phục vụ bạn suốt sự nghiệp lập trình.
Khi làm việc với GitHub, điều quan trọng là tuân theo các thực hành bảo mật tốt nhất:
| Khu vực bảo mật | Thực hành tốt nhất | Tại sao nó quan trọng |
|---|---|---|
| Xác thực | Sử dụng khóa SSH hoặc Personal Access Tokens | Mật khẩu kém an toàn hơn và đang dần bị loại bỏ |
| Xác thực hai yếu tố | Bật 2FA trên tài khoản GitHub của bạn | Thêm một lớp bảo vệ cho tài khoản |
| Bảo mật kho lưu trữ | Không bao giờ commit thông tin nhạy cảm | API keys và mật khẩu không bao giờ nên có trong kho công khai |
| Quản lý phụ thuộc | Bật Dependabot để cập nhật | Giữ cho các phụ thuộc của bạn an toàn và luôn được cập nhật |
⚠️ Lời nhắc bảo mật quan trọng: Không bao giờ commit API keys, mật khẩu, hoặc thông tin nhạy cảm khác vào bất kỳ kho lưu trữ nào. Sử dụng biến môi trường và tệp
.gitignoređể bảo vệ dữ liệu nhạy cảm.
Thiết lập xác thực hiện đại:
# Generate SSH key (modern ed25519 algorithm)
ssh-keygen -t ed25519 -C "your_email@example.com"
# Set up Git to use SSH
git remote set-url origin git@github.com:username/repository.git
💡 Mẹo chuyên nghiệp: Khóa SSH loại bỏ nhu cầu nhập mật khẩu liên tục và an toàn hơn các phương pháp xác thực truyền thống.
Quản lý mã nguồn của bạn như một chuyên gia
Được rồi, ĐÂY là lúc mọi thứ trở nên thực sự thú vị! 🎉 Chúng ta sắp học cách theo dõi và quản lý mã nguồn của bạn như các chuyên gia, và thành thật mà nói, đây là một trong những điều mình thích dạy nhất vì nó thực sự thay đổi cuộc chơi.
Hãy tưởng tượng thế này: bạn đang viết một câu chuyện tuyệt vời, và bạn muốn theo dõi mọi bản nháp, mọi chỉnh sửa xuất sắc, và mọi khoảnh khắc "chờ đã, điều này thật thiên tài!" trên đường đi. Đó chính xác là những gì Git làm cho mã nguồn của bạn! Nó giống như có một cuốn sổ tay du hành thời gian tuyệt vời nhất, nhớ MỌI THỨ – từng lần gõ phím, từng thay đổi, từng khoảnh khắc "ôi không, điều đó làm hỏng mọi thứ" mà bạn có thể hoàn tác ngay lập tức.
Mình sẽ thành thật – điều này có thể cảm thấy quá tải lúc đầu. Khi mình bắt đầu, mình đã nghĩ "Tại sao mình không thể chỉ lưu tệp như bình thường?" Nhưng hãy tin mình: một khi bạn hiểu Git (và bạn sẽ hiểu!), bạn sẽ có một khoảnh khắc "bừng sáng" khi nghĩ "Làm thế nào mà mình từng lập trình mà không có cái này?" Nó giống như phát hiện ra bạn có thể bay khi bạn đã đi bộ khắp nơi cả đời!
Giả sử bạn có một thư mục trên máy tính chứa một dự án mã nguồn và bạn muốn bắt đầu theo dõi tiến trình của mình bằng git - hệ thống kiểm soát phiên bản. Một số người so sánh việc sử dụng git như viết một lá thư tình cho chính bạn trong tương lai. Đọc lại các thông điệp commit của bạn sau vài ngày, vài tuần hoặc vài tháng, bạn sẽ có thể nhớ lại tại sao bạn đã đưa ra một quyết định, hoặc "quay lại" một thay đổi – đó là khi bạn viết các "thông điệp commit" tốt.
flowchart TD
A[📁 Your Project Files] --> B{Is it a Git Repository?}
B -->|No| C[git init]
B -->|Yes| D[Make Changes]
C --> D
D --> E[git add .]
E --> F["git commit -m 'message'"]
F --> G[git push]
G --> H[🌟 Code on GitHub!]
H --> I{Want to collaborate?}
I -->|Yes| J[Fork & Clone]
I -->|No| D
J --> K[Create Branch]
K --> L[Make Changes]
L --> M[Pull Request]
M --> N[🎉 Contributing!]
style A fill:#fff59d
style H fill:#c8e6c9
style N fill:#ff4081,color:#fff
Nhiệm vụ: Tạo kho lưu trữ đầu tiên của bạn!
🎯 Nhiệm vụ của bạn (và mình rất hào hứng cho bạn!): Chúng ta sẽ cùng nhau tạo kho lưu trữ GitHub đầu tiên của bạn! Đến khi hoàn thành, bạn sẽ có một góc nhỏ trên internet nơi mã nguồn của bạn sống, và bạn sẽ thực hiện "commit" đầu tiên của mình (đó là cách nói của lập trình viên để lưu công việc của bạn một cách thông minh).
Đây thực sự là một khoảnh khắc đặc biệt – bạn sắp chính thức gia nhập cộng đồng lập trình viên toàn cầu! Mình vẫn nhớ cảm giác hồi hộp khi tạo kho lưu trữ đầu tiên của mình và nghĩ "Wow, mình thực sự đang làm điều này!"
Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dành thời gian cho từng phần – không có giải thưởng nào cho việc vội vàng, và mình hứa rằng từng bước sẽ có ý nghĩa. Hãy nhớ, mọi ngôi sao lập trình mà bạn ngưỡng mộ đều từng ngồi đúng vị trí của bạn, chuẩn bị tạo kho lưu trữ đầu tiên của họ. Thật tuyệt phải không?
Xem video
Hãy cùng làm điều này:
-
Tạo kho lưu trữ của bạn trên GitHub. Truy cập GitHub.com và tìm nút New màu xanh lá cây sáng (hoặc dấu + ở góc trên bên phải). Nhấp vào đó và chọn New repository.
Đây là những gì bạn cần làm:
- Đặt tên cho kho lưu trữ của bạn – hãy chọn một cái tên có ý nghĩa với bạn!
- Thêm mô tả nếu bạn muốn (điều này giúp người khác hiểu dự án của bạn là gì)
- Quyết định xem bạn muốn nó công khai (mọi người đều có thể thấy) hay riêng tư (chỉ mình bạn)
- Mình khuyên bạn nên đánh dấu vào ô để thêm tệp README – nó giống như trang đầu của dự án của bạn
- Nhấp vào Create repository và ăn mừng – bạn vừa tạo kho lưu trữ đầu tiên của mình! 🎉
-
Đi đến thư mục dự án của bạn. Bây giờ hãy mở terminal của bạn (đừng lo, nó không đáng sợ như nó trông đâu!). Chúng ta cần nói với máy tính của bạn nơi các tệp dự án của bạn đang ở. Gõ lệnh này:
cd [name of your folder]Chúng ta đang làm gì ở đây:
- Chúng ta về cơ bản đang nói "Này máy tính, đưa tôi đến thư mục dự án của tôi"
- Điều này giống như mở một thư mục cụ thể trên màn hình của bạn, nhưng chúng ta làm điều đó bằng lệnh văn bản
- Thay
[name of your folder]bằng tên thực tế của thư mục dự án của bạn
-
Biến thư mục của bạn thành một kho Git. Đây là lúc phép thuật xảy ra! Gõ:
git initĐây là những gì vừa xảy ra (thật tuyệt vời!):
- Git vừa tạo một thư mục ẩn
.gittrong dự án của bạn – bạn sẽ không thấy nó, nhưng nó ở đó! - Thư mục thông thường của bạn giờ đã là một "kho lưu trữ" có thể theo dõi mọi thay đổi bạn thực hiện
- Hãy nghĩ về nó như việc trao cho thư mục của bạn siêu năng lực để nhớ mọi thứ
- Git vừa tạo một thư mục ẩn
-
Kiểm tra xem điều gì đang xảy ra. Hãy xem Git nghĩ gì về dự án của bạn ngay bây giờ:
git statusHiểu những gì Git đang nói với bạn:
Bạn có thể thấy điều gì đó trông như thế này:
Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: file.txt modified: file2.txtĐừng hoảng sợ! Đây là ý nghĩa của nó:
- Các tệp màu đỏ là các tệp đã thay đổi nhưng chưa sẵn sàng để lưu
- Các tệp màu xanh lá cây (khi bạn thấy chúng) đã sẵn sàng để lưu
- Git đang giúp bạn bằng cách nói chính xác những gì bạn có thể làm tiếp theo
💡 Mẹo chuyên nghiệp: Lệnh
git statuslà người bạn tốt nhất của bạn! Sử dụng nó bất cứ khi nào bạn bối rối về những gì đang diễn ra. Nó giống như hỏi Git "Này, tình hình bây giờ thế nào?" -
Chuẩn bị các tệp của bạn để lưu (điều này được gọi là "staging"):
git add .Những gì chúng ta vừa làm:
- Chúng ta đã nói với Git "Này, tôi muốn bao gồm TẤT CẢ các tệp của tôi trong lần lưu tiếp theo"
- Dấu
.giống như nói "mọi thứ trong thư mục này" - Bây giờ các tệp của bạn đã được "staged" và sẵn sàng cho bước tiếp theo
Muốn chọn lọc hơn? Bạn có thể chỉ thêm các tệp cụ thể:
git add [file or folder name]Tại sao bạn có thể muốn làm điều này?
- Đôi khi bạn muốn lưu các thay đổi liên quan cùng nhau
- Nó giúp bạn tổ chức công việc thành các phần hợp lý
- Làm cho việc hiểu những gì đã thay đổi và khi nào dễ dàng hơn
Thay đổi ý định? Không sao cả! Bạn có thể bỏ staging các tệp như thế này:
# Unstage everything git reset # Unstage just one file git reset [file name]Đừng lo – điều này không xóa công việc của bạn, nó chỉ đưa các tệp ra khỏi "danh sách sẵn sàng để lưu".
-
Lưu công việc của bạn vĩnh viễn (thực hiện commit đầu tiên của bạn!):
git commit -m "first commit"🎉 Chúc mừng! Bạn vừa thực hiện commit đầu tiên của mình!
Đây là những gì vừa xảy ra:
- Git đã chụp một "ảnh chụp nhanh" của tất cả các tệp đã staged của bạn tại thời điểm này
- Thông điệp commit của bạn "first commit" giải thích điểm lưu này là gì
- Git đã gán cho ảnh chụp nhanh này một ID duy nhất để bạn luôn có thể tìm thấy nó sau này
- Bạn đã chính thức bắt đầu theo dõi lịch sử dự án của mình!
💡 Thông điệp commit trong tương lai: Với các commit tiếp theo, hãy mô tả chi tiết hơn! Thay vì "cập nhật cái gì đó", hãy thử "Thêm form liên hệ vào trang chủ" hoặc "Sửa lỗi menu điều hướng". Bạn trong tương lai sẽ cảm ơn bạn!
-
Kết nối dự án cục bộ của bạn với GitHub. Hiện tại, dự án của bạn chỉ tồn tại trên máy tính của bạn. Hãy kết nối nó với kho lưu trữ GitHub của bạn để bạn có thể chia sẻ nó với thế giới!
Đầu tiên, truy cập trang kho lưu trữ GitHub của bạn và sao chép URL. Sau đó quay lại đây và gõ:
git remote add origin https://github.com/username/repository_name.git(Thay URL đó bằng URL thực tế của kho lưu trữ của bạn!)
Những gì chúng ta vừa làm:
- Chúng tôi đã tạo kết nối giữa dự án cục bộ của bạn và kho lưu trữ GitHub của bạn
- "Origin" chỉ là một biệt danh cho kho lưu trữ GitHub của bạn – giống như thêm một liên hệ vào điện thoại của bạn
- Bây giờ Git cục bộ của bạn biết nơi để gửi mã của bạn khi bạn sẵn sàng chia sẻ nó
💡 Cách dễ hơn: Nếu bạn đã cài đặt GitHub CLI, bạn có thể thực hiện điều này chỉ với một lệnh:
gh repo create my-repo --public --push --source=. -
Gửi mã của bạn lên GitHub (khoảnh khắc quan trọng!):
git push -u origin main🚀 Đây là lúc bạn tải mã của mình lên GitHub!
Điều gì đang xảy ra:
- Các commit của bạn đang được chuyển từ máy tính của bạn lên GitHub
- Cờ
-uthiết lập kết nối vĩnh viễn để các lần đẩy sau dễ dàng hơn - "main" là tên nhánh chính của bạn (giống như thư mục chính)
- Sau đó, bạn chỉ cần gõ
git pushcho các lần tải lên sau!
💡 Lưu ý nhanh: Nếu nhánh của bạn có tên khác (như "master"), hãy sử dụng tên đó. Bạn có thể kiểm tra bằng
git branch --show-current. -
Nhịp điệu lập trình hàng ngày mới của bạn (đây là lúc bạn bị cuốn hút!):
Từ bây giờ, bất cứ khi nào bạn thực hiện thay đổi trong dự án của mình, bạn sẽ có một quy trình ba bước đơn giản:
git add . git commit -m "describe what you changed" git pushĐây trở thành nhịp điệu lập trình của bạn:
- Thực hiện một số thay đổi tuyệt vời cho mã của bạn ✨
- Đưa chúng vào giai đoạn với
git add("Này Git, chú ý đến những thay đổi này!") - Lưu chúng với
git commitvà một thông điệp mô tả (bạn trong tương lai sẽ cảm ơn bạn!) - Chia sẻ chúng với thế giới bằng
git push🚀 - Lặp lại – thực sự, điều này trở nên tự nhiên như hít thở!
Tôi yêu quy trình này vì nó giống như có nhiều điểm lưu trong một trò chơi điện tử. Thực hiện một thay đổi mà bạn yêu thích? Commit nó! Muốn thử điều gì đó mạo hiểm? Không vấn đề gì – bạn luôn có thể quay lại commit cuối cùng nếu mọi thứ không như ý!
💡 Mẹo: Bạn cũng có thể muốn sử dụng tệp
.gitignoređể ngăn các tệp bạn không muốn theo dõi xuất hiện trên GitHub - như tệp ghi chú mà bạn lưu trữ trong cùng thư mục nhưng không phù hợp với kho lưu trữ công khai. Bạn có thể tìm các mẫu cho tệp.gitignoretại .gitignore templates hoặc tạo một tệp bằng gitignore.io.
🧠 Kiểm tra kho lưu trữ đầu tiên: Cảm giác thế nào?
Hãy dành một chút thời gian để ăn mừng và suy ngẫm:
- Cảm giác thế nào khi thấy mã của bạn xuất hiện trên GitHub lần đầu tiên?
- Bước nào cảm thấy khó hiểu nhất, và bước nào cảm thấy dễ dàng bất ngờ?
- Bạn có thể giải thích sự khác biệt giữa
git add,git commit, vàgit pushtheo cách của riêng bạn không?
stateDiagram-v2
[*] --> LocalFiles: Create project
LocalFiles --> Staged: git add .
Staged --> Committed: git commit
Committed --> GitHub: git push
GitHub --> [*]: Success! 🎉
note right of Staged
Files ready to save
end note
note right of Committed
Snapshot created
end note
Hãy nhớ: Ngay cả các nhà phát triển có kinh nghiệm đôi khi cũng quên các lệnh chính xác. Việc biến quy trình này thành thói quen cần thực hành - bạn đang làm rất tốt!
Quy trình Git hiện đại
Hãy cân nhắc áp dụng các thực hành hiện đại sau:
- Conventional Commits: Sử dụng định dạng thông điệp commit chuẩn như
feat:,fix:,docs:, v.v. Tìm hiểu thêm tại conventionalcommits.org - Atomic commits: Mỗi commit đại diện cho một thay đổi logic duy nhất
- Frequent commits: Commit thường xuyên với thông điệp mô tả thay vì commit lớn, không thường xuyên
Thông điệp commit
Một dòng tiêu đề commit Git tuyệt vời hoàn thành câu sau: Nếu được áp dụng, commit này sẽ <dòng tiêu đề của bạn ở đây>
Đối với tiêu đề, sử dụng thì hiện tại, dạng mệnh lệnh: "change" không phải "changed" hay "changes".
Giống như tiêu đề, trong phần thân (tùy chọn) cũng sử dụng thì hiện tại, dạng mệnh lệnh. Phần thân nên bao gồm động lực cho thay đổi và so sánh điều này với hành vi trước đó. Bạn đang giải thích tại sao, không phải như thế nào.
✅ Dành vài phút để lướt qua GitHub. Bạn có thể tìm thấy một thông điệp commit thực sự tuyệt vời không? Bạn có thể tìm thấy một thông điệp rất tối giản không? Theo bạn, thông tin nào là quan trọng và hữu ích nhất để truyền tải trong một thông điệp commit?
Làm việc với người khác (Phần thú vị!)
Hãy chuẩn bị tinh thần vì ĐÂY là lúc GitHub trở nên thực sự kỳ diệu! 🪄 Bạn đã thành thạo việc quản lý mã của riêng mình, nhưng bây giờ chúng ta sẽ khám phá phần yêu thích nhất của tôi – hợp tác với những người tuyệt vời từ khắp nơi trên thế giới.
Hãy tưởng tượng điều này: bạn thức dậy vào ngày mai và thấy rằng ai đó ở Tokyo đã cải thiện mã của bạn trong khi bạn đang ngủ. Sau đó, ai đó ở Berlin sửa một lỗi mà bạn đã mắc kẹt. Đến chiều, một nhà phát triển ở São Paulo đã thêm một tính năng mà bạn chưa từng nghĩ đến. Đó không phải là khoa học viễn tưởng – đó chỉ là một ngày thứ Ba trong vũ trụ GitHub!
Điều làm tôi thực sự phấn khích là các kỹ năng hợp tác mà bạn sắp học? Đây chính là các quy trình mà các nhóm tại Google, Microsoft và các startup yêu thích của bạn sử dụng mỗi ngày. Bạn không chỉ học một công cụ thú vị – bạn đang học ngôn ngữ bí mật giúp toàn bộ thế giới phần mềm làm việc cùng nhau.
Thực sự, một khi bạn trải nghiệm cảm giác hồi hộp khi ai đó hợp nhất yêu cầu kéo đầu tiên của bạn, bạn sẽ hiểu tại sao các nhà phát triển lại đam mê mã nguồn mở đến vậy. Nó giống như trở thành một phần của dự án nhóm lớn nhất, sáng tạo nhất thế giới!
Xem video
Lý do chính để đưa mọi thứ lên GitHub là để làm cho việc hợp tác với các nhà phát triển khác trở nên khả thi.
flowchart LR
A[🔍 Find Project] --> B[🍴 Fork Repository]
B --> C[📥 Clone to Local]
C --> D[🌿 Create Branch]
D --> E[✏️ Make Changes]
E --> F[💾 Commit Changes]
F --> G[📤 Push Branch]
G --> H[🔄 Create Pull Request]
H --> I{Maintainer Review}
I -->|✅ Approved| J[🎉 Merge!]
I -->|❓ Changes Requested| K[📝 Make Updates]
K --> F
J --> L[🧹 Clean Up Branches]
style A fill:#e3f2fd
style J fill:#e8f5e8
style L fill:#fff3e0
Trong kho lưu trữ của bạn, điều hướng đến Insights > Community để xem dự án của bạn so với các tiêu chuẩn cộng đồng được khuyến nghị như thế nào.
Muốn làm cho kho lưu trữ của bạn trông chuyên nghiệp và thân thiện? Hãy truy cập kho lưu trữ của bạn và nhấp vào Insights > Community. Tính năng thú vị này cho bạn thấy dự án của bạn so với những gì cộng đồng GitHub coi là "thực hành kho lưu trữ tốt".
🎯 Làm cho dự án của bạn nổi bật: Một kho lưu trữ được tổ chức tốt với tài liệu tốt giống như có một cửa hàng sạch sẽ, thân thiện. Nó cho mọi người thấy bạn quan tâm đến công việc của mình và khiến người khác muốn đóng góp!
Đây là những gì làm cho một kho lưu trữ trở nên tuyệt vời:
| Những gì cần thêm | Tại sao nó quan trọng | Nó làm gì cho bạn |
|---|---|---|
| Mô tả | Ấn tượng đầu tiên rất quan trọng! | Mọi người biết ngay dự án của bạn làm gì |
| README | Trang chính của dự án của bạn | Giống như một hướng dẫn thân thiện cho khách truy cập mới |
| Hướng dẫn đóng góp | Cho thấy bạn chào đón sự giúp đỡ | Mọi người biết chính xác cách họ có thể giúp bạn |
| Quy tắc ứng xử | Tạo không gian thân thiện | Mọi người cảm thấy được chào đón để tham gia |
| Giấy phép | Rõ ràng về pháp lý | Người khác biết cách họ có thể sử dụng mã của bạn |
| Chính sách bảo mật | Cho thấy bạn có trách nhiệm | Thể hiện các thực hành chuyên nghiệp |
💡 Mẹo chuyên nghiệp: GitHub cung cấp các mẫu cho tất cả các tệp này. Khi tạo một kho lưu trữ mới, hãy chọn các hộp để tự động tạo các tệp này.
Các tính năng GitHub hiện đại để khám phá:
🤖 Tự động hóa & CI/CD:
- GitHub Actions để kiểm tra và triển khai tự động
- Dependabot để cập nhật phụ thuộc tự động
💬 Cộng đồng & Quản lý dự án:
- GitHub Discussions cho các cuộc trò chuyện cộng đồng ngoài các vấn đề
- GitHub Projects để quản lý dự án kiểu kanban
- Quy tắc bảo vệ nhánh để đảm bảo tiêu chuẩn chất lượng mã
Tất cả các tài nguyên này sẽ có lợi cho việc giới thiệu các thành viên mới vào nhóm. Và đây thường là những điều mà các cộng tác viên mới xem xét trước khi thậm chí nhìn vào mã của bạn, để tìm hiểu xem dự án của bạn có phải là nơi phù hợp để họ dành thời gian hay không.
✅ Các tệp README, mặc dù mất thời gian để chuẩn bị, thường bị bỏ qua bởi các người duy trì bận rộn. Bạn có thể tìm thấy một ví dụ về một tệp README đặc biệt mô tả không? Lưu ý: có một số công cụ để giúp tạo README tốt mà bạn có thể muốn thử.
Nhiệm vụ: Hợp nhất một số mã
Tài liệu đóng góp giúp mọi người đóng góp vào dự án. Nó giải thích các loại đóng góp mà bạn đang tìm kiếm và cách quy trình hoạt động. Các cộng tác viên sẽ cần thực hiện một loạt các bước để có thể đóng góp vào kho lưu trữ của bạn trên GitHub:
- Fork kho lưu trữ của bạn Bạn có thể muốn mọi người fork dự án của bạn. Fork nghĩa là tạo một bản sao của kho lưu trữ của bạn trên hồ sơ GitHub của họ.
- Clone. Từ đó họ sẽ clone dự án về máy cục bộ của họ.
- Tạo một nhánh. Bạn sẽ muốn yêu cầu họ tạo một nhánh cho công việc của họ.
- Tập trung thay đổi vào một khu vực. Yêu cầu các cộng tác viên tập trung đóng góp của họ vào một điều tại một thời điểm - theo cách đó cơ hội bạn có thể hợp nhất công việc của họ sẽ cao hơn. Hãy tưởng tượng họ viết một bản sửa lỗi, thêm một tính năng mới, và cập nhật một số bài kiểm tra - điều gì sẽ xảy ra nếu bạn muốn, hoặc chỉ có thể triển khai 2 trong số 3, hoặc 1 trong số 3 thay đổi?
✅ Hãy tưởng tượng một tình huống mà các nhánh đặc biệt quan trọng để viết và triển khai mã tốt. Bạn có thể nghĩ đến những trường hợp sử dụng nào?
Lưu ý, hãy là sự thay đổi mà bạn muốn thấy trên thế giới, và tạo các nhánh cho công việc của riêng bạn. Bất kỳ commit nào bạn thực hiện sẽ được thực hiện trên nhánh mà bạn hiện đang "được kiểm tra". Sử dụng
git statusđể xem nhánh đó là gì.
Hãy đi qua quy trình làm việc của cộng tác viên. Giả sử cộng tác viên đã fork và clone kho lưu trữ để họ có một kho Git sẵn sàng để làm việc trên máy cục bộ của họ:
-
Tạo một nhánh. Sử dụng lệnh
git branchđể tạo một nhánh sẽ chứa các thay đổi mà họ định đóng góp:git branch [branch-name]💡 Cách tiếp cận hiện đại: Bạn cũng có thể tạo và chuyển sang nhánh mới chỉ với một lệnh:
git switch -c [branch-name] -
Chuyển sang nhánh làm việc. Chuyển sang nhánh được chỉ định và cập nhật thư mục làm việc với
git switch:git switch [branch-name]💡 Lưu ý hiện đại:
git switchlà sự thay thế hiện đại chogit checkoutkhi thay đổi nhánh. Nó rõ ràng và an toàn hơn cho người mới bắt đầu. -
Thực hiện công việc. Tại thời điểm này bạn muốn thêm các thay đổi của mình. Đừng quên thông báo cho Git về điều đó với các lệnh sau:
git add . git commit -m "my changes"⚠️ Chất lượng thông điệp commit: Đảm bảo bạn đặt tên commit của mình tốt, cả vì lợi ích của bạn và người duy trì kho lưu trữ mà bạn đang giúp đỡ. Hãy cụ thể về những gì bạn đã thay đổi!
-
Kết hợp công việc của bạn với nhánh
main. Tại một thời điểm nào đó bạn đã hoàn thành công việc và muốn kết hợp công việc của mình với nhánhmain. Nhánhmaincó thể đã thay đổi trong khi đó, vì vậy hãy đảm bảo bạn cập nhật nó mới nhất với các lệnh sau:git switch main git pullTại thời điểm này bạn muốn đảm bảo rằng bất kỳ xung đột nào, tình huống mà Git không thể dễ dàng kết hợp các thay đổi xảy ra trong nhánh làm việc của bạn. Do đó, chạy các lệnh sau:
git switch [branch_name] git merge mainLệnh
git merge mainsẽ mang tất cả các thay đổi từmainvào nhánh của bạn. Hy vọng bạn có thể tiếp tục. Nếu không, VS Code sẽ cho bạn biết nơi Git bị nhầm lẫn và bạn chỉ cần thay đổi các tệp bị ảnh hưởng để nói nội dung nào là chính xác nhất.💡 Cách thay thế hiện đại: Cân nhắc sử dụng
git rebaseđể có lịch sử sạch hơn:git rebase mainĐiều này phát lại các commit của bạn trên đầu nhánh chính mới nhất, tạo ra một lịch sử tuyến tính.
-
Gửi công việc của bạn lên GitHub. Gửi công việc của bạn lên GitHub nghĩa là hai điều. Đẩy nhánh của bạn lên kho lưu trữ của bạn và sau đó mở một PR, Pull Request.
git push --set-upstream origin [branch-name]Lệnh trên tạo nhánh trên kho lưu trữ đã fork của bạn.
🤝 Kiểm tra kỹ năng hợp tác: Sẵn sàng làm việc với người khác chưa?
Hãy xem bạn cảm thấy thế nào về việc hợp tác:
- Ý tưởng về fork và pull request có hợp lý với bạn không?
- Một điều về làm việc với các nhánh mà bạn muốn thực hành thêm là gì?
- Bạn cảm thấy thoải mái như thế nào khi đóng góp vào dự án của người khác?
mindmap
root((Git Collaboration))
Branching
Feature branches
Bug fix branches
Experimental work
Pull Requests
Code review
Discussion
Testing
Best Practices
Clear commit messages
Small focused changes
Good documentation
Tăng cường sự tự tin: Mỗi nhà phát triển mà bạn ngưỡng mộ đều từng lo lắng về yêu cầu kéo đầu tiên của họ. Cộng đồng GitHub cực kỳ chào đón người mới!
-
Mở một PR. Tiếp theo, bạn muốn mở một PR. Bạn làm điều đó bằng cách điều hướng đến kho lưu trữ đã fork trên GitHub. Bạn sẽ thấy một chỉ báo trên GitHub nơi nó hỏi liệu bạn có muốn tạo một PR mới không, bạn nhấp vào đó và bạn được đưa đến giao diện nơi bạn có thể thay đổi tiêu đề thông điệp commit, đưa ra mô tả phù hợp hơn. Bây giờ người duy trì kho lưu trữ mà bạn đã fork sẽ thấy PR này và hy vọng họ sẽ đánh giá cao và hợp nhất PR của bạn. Bạn bây giờ là một cộng tác viên, tuyệt vời :)
💡 Mẹo hiện đại: Bạn cũng có thể tạo PRs bằng GitHub CLI:
gh pr create --title "Your PR title" --body "Description of changes"🔧 Thực hành tốt nhất cho PRs:
- Liên kết đến các vấn đề liên quan bằng các từ khóa như "Fixes #123"
- Thêm ảnh chụp màn hình cho các thay đổi giao diện người dùng
- Yêu cầu người đánh giá cụ thể
- Sử dụng PR nháp cho công việc đang tiến hành
- Đảm bảo tất cả các kiểm tra CI đều vượt qua trước khi yêu cầu đánh giá
-
Dọn dẹp. Việc dọn dẹp sau khi bạn đã thành công hợp nhất một PR được coi là một thói quen tốt. Bạn cần dọn dẹp cả nhánh cục bộ và nhánh bạn đã đẩy lên GitHub. Đầu tiên, hãy xóa nhánh cục bộ bằng lệnh sau:
git branch -d [branch-name]Tiếp theo, hãy truy cập trang GitHub của repo đã fork và xóa nhánh từ xa mà bạn vừa đẩy lên.
Pull request có vẻ là một thuật ngữ kỳ lạ vì thực tế bạn muốn đẩy thay đổi của mình vào dự án. Nhưng người duy trì (chủ dự án) hoặc nhóm cốt lõi cần xem xét thay đổi của bạn trước khi hợp nhất nó với nhánh "main" của dự án, vì vậy thực chất bạn đang yêu cầu một quyết định thay đổi từ người duy trì.
Pull request là nơi để so sánh và thảo luận về các khác biệt được giới thiệu trên một nhánh với các đánh giá, bình luận, kiểm tra tích hợp, và nhiều hơn nữa. Một pull request tốt tuân theo các quy tắc tương tự như thông điệp commit. Bạn có thể thêm tham chiếu đến một vấn đề trong trình theo dõi vấn đề, ví dụ khi công việc của bạn sửa một vấn đề. Điều này được thực hiện bằng cách sử dụng # theo sau là số của vấn đề. Ví dụ: #97.
🤞Hy vọng rằng tất cả các kiểm tra đều vượt qua và chủ dự án hợp nhất thay đổi của bạn vào dự án🤞
Cập nhật nhánh làm việc cục bộ hiện tại của bạn với tất cả các commit mới từ nhánh từ xa tương ứng trên GitHub:
git pull
Đóng góp cho Open Source (Cơ hội để tạo ra ảnh hưởng!)
Bạn đã sẵn sàng cho điều gì đó sẽ làm bạn kinh ngạc chưa? 🤯 Hãy nói về việc đóng góp cho các dự án mã nguồn mở – và tôi cảm thấy nổi da gà khi nghĩ đến việc chia sẻ điều này với bạn!
Đây là cơ hội để bạn trở thành một phần của điều gì đó thực sự phi thường. Hãy tưởng tượng cải thiện các công cụ mà hàng triệu nhà phát triển sử dụng mỗi ngày, hoặc sửa một lỗi trong ứng dụng mà bạn bè của bạn yêu thích. Đó không chỉ là một giấc mơ – đó chính là ý nghĩa của việc đóng góp mã nguồn mở!
Điều khiến tôi luôn cảm thấy phấn khích mỗi khi nghĩ về nó: mọi công cụ bạn đã học – trình chỉnh sửa mã của bạn, các framework chúng ta sẽ khám phá, thậm chí trình duyệt bạn đang đọc điều này – đều bắt đầu từ một người giống như bạn thực hiện đóng góp đầu tiên của họ. Nhà phát triển tài năng đã tạo ra tiện ích mở rộng VS Code yêu thích của bạn? Họ cũng từng là người mới, nhấn "create pull request" với đôi tay run rẩy, giống như bạn sắp làm.
Và đây là phần đẹp nhất: cộng đồng mã nguồn mở giống như cái ôm lớn nhất trên internet. Hầu hết các dự án đều tích cực tìm kiếm người mới và có các vấn đề được gắn thẻ "good first issue" dành riêng cho những người như bạn! Những người duy trì thực sự rất vui khi thấy các cộng tác viên mới vì họ nhớ những bước đầu tiên của chính mình.
flowchart TD
A[🔍 Explore GitHub] --> B[🏷️ Find "good first issue"]
B --> C[📖 Read Contributing Guidelines]
C --> D[🍴 Fork Repository]
D --> E[💻 Set Up Local Environment]
E --> F[🌿 Create Feature Branch]
F --> G[✨ Make Your Contribution]
G --> H[🧪 Test Your Changes]
H --> I[📝 Write Clear Commit]
I --> J[📤 Push & Create PR]
J --> K[💬 Engage with Feedback]
K --> L[🎉 Merged! You're a Contributor!]
L --> M[🌟 Find Next Issue]
style A fill:#e1f5fe
style L fill:#c8e6c9
style M fill:#fff59d
Bạn không chỉ học cách viết mã ở đây – bạn đang chuẩn bị tham gia vào một gia đình toàn cầu của những người xây dựng, những người thức dậy mỗi ngày nghĩ "Làm thế nào để chúng ta làm cho thế giới số tốt hơn một chút?" Chào mừng bạn đến với câu lạc bộ! 🌟
Đầu tiên, hãy tìm một repository (hoặc repo) trên GitHub mà bạn quan tâm và muốn đóng góp một thay đổi. Bạn sẽ muốn sao chép nội dung của nó về máy của mình.
✅ Một cách tốt để tìm các repo 'thân thiện với người mới bắt đầu' là tìm kiếm theo thẻ 'good-first-issue'.
Có nhiều cách để sao chép mã. Một cách là "clone" nội dung của repository, sử dụng HTTPS, SSH, hoặc GitHub CLI (Command Line Interface).
Mở terminal của bạn và clone repository như sau:
# Using HTTPS
git clone https://github.com/ProjectURL
# Using SSH (requires SSH key setup)
git clone git@github.com:username/repository.git
# Using GitHub CLI
gh repo clone username/repository
Để làm việc trên dự án, chuyển đến thư mục phù hợp:
cd ProjectURL
Bạn cũng có thể mở toàn bộ dự án bằng:
- GitHub Codespaces - Môi trường phát triển trên đám mây của GitHub với VS Code trong trình duyệt
- GitHub Desktop - Ứng dụng GUI cho các thao tác Git
- GitHub.dev - Nhấn phím
.trên bất kỳ repo GitHub nào để mở VS Code trong trình duyệt - VS Code với tiện ích mở rộng GitHub Pull Requests
Cuối cùng, bạn có thể tải mã xuống dưới dạng thư mục nén.
Một vài điều thú vị về GitHub
Bạn có thể gắn sao, theo dõi và/hoặc "fork" bất kỳ repository công khai nào trên GitHub. Bạn có thể tìm các repository đã gắn sao của mình trong menu thả xuống ở góc trên bên phải. Nó giống như đánh dấu trang, nhưng dành cho mã.
Các dự án có trình theo dõi vấn đề, thường trên GitHub trong tab "Issues" trừ khi được chỉ định khác, nơi mọi người thảo luận về các vấn đề liên quan đến dự án. Và tab Pull Requests là nơi mọi người thảo luận và đánh giá các thay đổi đang được thực hiện.
Các dự án cũng có thể có thảo luận trong các diễn đàn, danh sách gửi thư, hoặc các kênh chat như Slack, Discord hoặc IRC.
🔧 Các tính năng hiện đại của GitHub:
- GitHub Discussions - Diễn đàn tích hợp cho các cuộc trò chuyện cộng đồng
- GitHub Sponsors - Hỗ trợ tài chính cho người duy trì
- Tab Security - Báo cáo lỗ hổng và tư vấn bảo mật
- Tab Actions - Xem các quy trình tự động và pipeline CI/CD
- Tab Insights - Phân tích về cộng tác viên, commit, và sức khỏe dự án
- Tab Projects - Công cụ quản lý dự án tích hợp của GitHub
✅ Hãy khám phá repo GitHub mới của bạn và thử một vài điều, như chỉnh sửa cài đặt, thêm thông tin vào repo của bạn, tạo một dự án (như bảng Kanban), và thiết lập GitHub Actions để tự động hóa. Có rất nhiều điều bạn có thể làm!
🚀 Thử thách
Được rồi, đã đến lúc kiểm tra sức mạnh GitHub mới của bạn! 🚀 Đây là một thử thách sẽ làm mọi thứ trở nên rõ ràng theo cách thỏa mãn nhất:
Hãy rủ một người bạn (hoặc thành viên gia đình luôn hỏi bạn đang làm gì với tất cả "thứ máy tính này") và cùng nhau tham gia một cuộc phiêu lưu mã hóa hợp tác! Đây là nơi phép màu thực sự xảy ra – tạo một dự án, để họ fork nó, tạo một vài nhánh, và hợp nhất các thay đổi như những chuyên gia mà bạn đang trở thành.
Tôi không nói dối – bạn có thể sẽ cười vào một lúc nào đó (đặc biệt là khi cả hai cố gắng thay đổi cùng một dòng), có thể sẽ gãi đầu bối rối, nhưng chắc chắn bạn sẽ có những khoảnh khắc "aha!" tuyệt vời khiến tất cả việc học trở nên đáng giá. Thêm vào đó, có điều gì đó đặc biệt khi chia sẻ lần hợp nhất thành công đầu tiên với người khác – nó giống như một lễ kỷ niệm nhỏ về việc bạn đã tiến xa đến mức nào!
Chưa có bạn đồng hành mã hóa? Không sao cả! Cộng đồng GitHub đầy những người cực kỳ thân thiện, những người nhớ cảm giác khi mới bắt đầu. Hãy tìm các repository có nhãn "good first issue" – chúng về cơ bản đang nói "Này người mới, hãy học cùng chúng tôi!" Thật tuyệt vời phải không?
Câu hỏi sau bài giảng
Ôn tập & Tiếp tục học
Whew! 🎉 Nhìn bạn kìa – bạn vừa chinh phục các kiến thức cơ bản về GitHub như một nhà vô địch thực thụ! Nếu bạn cảm thấy đầu óc hơi đầy ngay bây giờ, điều đó hoàn toàn bình thường và thực sự là một dấu hiệu tốt. Bạn vừa học các công cụ mà tôi đã mất hàng tuần để cảm thấy thoải mái khi bắt đầu.
Git và GitHub cực kỳ mạnh mẽ (thực sự rất mạnh mẽ), và mọi nhà phát triển tôi biết – bao gồm cả những người trông như phù thủy bây giờ – đều phải thực hành và loay hoay một chút trước khi mọi thứ trở nên rõ ràng. Việc bạn đã hoàn thành bài học này có nghĩa là bạn đã bắt đầu hành trình làm chủ một số công cụ quan trọng nhất trong bộ công cụ của nhà phát triển.
Dưới đây là một số tài liệu tuyệt vời để giúp bạn thực hành và trở nên thậm chí còn tuyệt vời hơn:
- Hướng dẫn đóng góp cho phần mềm mã nguồn mở – Lộ trình của bạn để tạo ra sự khác biệt
- Bảng cheat Git – Giữ cái này bên mình để tham khảo nhanh!
Và hãy nhớ: thực hành tạo ra tiến bộ, không phải sự hoàn hảo! Càng sử dụng Git và GitHub, bạn sẽ càng thấy tự nhiên hơn. GitHub đã tạo ra một số khóa học tương tác tuyệt vời cho phép bạn thực hành trong môi trường an toàn:
Cảm thấy phiêu lưu? Hãy khám phá các công cụ hiện đại này:
- Tài liệu GitHub CLI – Để cảm thấy như một phù thủy dòng lệnh
- Tài liệu GitHub Codespaces – Viết mã trên đám mây!
- Tài liệu GitHub Actions – Tự động hóa mọi thứ
- Các thực hành tốt nhất về Git – Nâng cấp trò chơi quy trình làm việc của bạn
Thử thách GitHub Copilot Agent 🚀
Sử dụng chế độ Agent để hoàn thành thử thách sau:
Mô tả: Tạo một dự án phát triển web hợp tác thể hiện toàn bộ quy trình GitHub mà bạn đã học trong bài học này. Thử thách này sẽ giúp bạn thực hành tạo repository, các tính năng hợp tác, và quy trình làm việc Git hiện đại trong một tình huống thực tế.
Gợi ý: Tạo một repository GitHub công khai mới cho dự án "Tài nguyên Phát triển Web" đơn giản. Repository nên bao gồm một tệp README.md được cấu trúc tốt liệt kê các công cụ và tài nguyên phát triển web hữu ích, được tổ chức theo danh mục (HTML, CSS, JavaScript, v.v.). Thiết lập repository với các tiêu chuẩn cộng đồng phù hợp bao gồm giấy phép, hướng dẫn đóng góp, và quy tắc ứng xử. Tạo ít nhất hai nhánh tính năng: một để thêm tài nguyên CSS và một để thêm tài nguyên JavaScript. Thực hiện các commit cho mỗi nhánh với thông điệp commit mô tả, sau đó tạo pull request để hợp nhất các thay đổi trở lại nhánh chính. Kích hoạt các tính năng GitHub như Issues, Discussions, và thiết lập quy trình GitHub Actions cơ bản để kiểm tra tự động.
Bài tập
Nhiệm vụ của bạn, nếu bạn chọn chấp nhận: Hoàn thành khóa học Giới thiệu về GitHub trên GitHub Skills. Khóa học tương tác này sẽ cho phép bạn thực hành mọi thứ bạn đã học trong môi trường an toàn, có hướng dẫn. Thêm vào đó, bạn sẽ nhận được một huy hiệu tuyệt vời khi hoàn thành! 🏅
Cảm thấy sẵn sàng cho nhiều thử thách hơn?
- Thiết lập xác thực SSH cho tài khoản GitHub của bạn (không cần mật khẩu nữa!)
- Thử sử dụng GitHub CLI cho các thao tác Git hàng ngày
- Tạo một repository với quy trình GitHub Actions
- Khám phá GitHub Codespaces bằng cách mở chính repository này trong trình chỉnh sửa trên đám mây
🚀 Lộ trình làm chủ GitHub của bạn
⚡ Những gì bạn có thể làm trong 5 phút tới
- Gắn sao repository này và 3 dự án khác mà bạn quan tâm
- Thiết lập xác thực hai yếu tố cho tài khoản GitHub của bạn
- Tạo một README đơn giản cho repository đầu tiên của bạn
- Theo dõi 5 nhà phát triển có công việc truyền cảm hứng cho bạn
🎯 Những gì bạn có thể hoàn thành trong giờ tới
- Hoàn thành câu hỏi sau bài học và suy ngẫm về hành trình GitHub của bạn
- Thiết lập khóa SSH để xác thực GitHub không cần mật khẩu
- Tạo commit ý nghĩa đầu tiên của bạn với thông điệp commit tuyệt vời
- Khám phá tab "Explore" của GitHub để tìm các dự án đang thịnh hành
- Thực hành fork một repository và thực hiện một thay đổi nhỏ
📅 Cuộc phiêu lưu GitHub kéo dài một tuần của bạn
- Hoàn thành các khóa học GitHub Skills (Giới thiệu về GitHub, Markdown)
- Thực hiện pull request đầu tiên của bạn cho một dự án mã nguồn mở
- Thiết lập một trang GitHub Pages để giới thiệu công việc của bạn
- Tham gia GitHub Discussions về các dự án bạn quan tâm
- Tạo một repository với các tiêu chuẩn cộng đồng phù hợp (README, License, v.v.)
- Thử GitHub Codespaces để phát triển trên đám mây
🌟 Sự biến đổi kéo dài một tháng của bạn
- Đóng góp cho 3 dự án mã nguồn mở khác nhau
- Hướng dẫn ai đó mới sử dụng GitHub (truyền cảm hứng!)
- Thiết lập quy trình tự động với GitHub Actions
- Xây dựng một danh mục giới thiệu các đóng góp GitHub của bạn
- Tham gia Hacktoberfest hoặc các sự kiện cộng đồng tương tự
- Trở thành người duy trì dự án của riêng bạn mà người khác đóng góp vào
🎓 Kiểm tra cuối cùng về việc làm chủ GitHub
Ăn mừng những gì bạn đã đạt được:
- Điều bạn yêu thích nhất về việc sử dụng GitHub là gì?
- Tính năng hợp tác nào khiến bạn hào hứng nhất?
- Bạn cảm thấy tự tin như thế nào về việc đóng góp cho mã nguồn mở bây giờ?
- Dự án đầu tiên bạn muốn đóng góp là gì?
journey
title Your GitHub Confidence Journey
section Today
Nervous: 3: You
Curious: 4: You
Excited: 5: You
section This Week
Practicing: 4: You
Contributing: 5: You
Connecting: 5: You
section Next Month
Collaborating: 5: You
Leading: 5: You
Inspiring Others: 5: You
🌍 Chào mừng bạn đến với cộng đồng nhà phát triển toàn cầu! Bây giờ bạn đã có các công cụ để hợp tác với hàng triệu nhà phát triển trên toàn thế giới. Đóng góp đầu tiên của bạn có thể trông nhỏ bé, nhưng hãy nhớ - mọi dự án mã nguồn mở lớn đều bắt đầu với ai đó thực hiện commit đầu tiên của họ. Câu hỏi không phải là liệu bạn có tạo ra ảnh hưởng hay không, mà là dự án tuyệt vời nào sẽ hưởng lợi từ góc nhìn độc đáo của bạn đầu tiên! 🚀
Hãy nhớ: mọi chuyên gia đều từng là người mới bắt đầu. Bạn làm được mà! 💪
Tuyên bố miễn trừ trách nhiệm:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI Co-op Translator. Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp của con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.



