#Hướng dẫn dùng Github cơ bản theo phong cách “mì ăn liền”
Đã có khá nhiều bài hướng dẫn sử dụng Github rồi nhưng mình vẫn muốn viết bài này để giúp những bạn muốn tìm hiều về Github có thể sử dụng một số chức năng cơ bản một cách “mì ăn liền” nhất có thể, tức là sẽ tập trung tối đa vào phần thực hành, lí thuyết thì nghịch xong rồi học thêm hehe
Mà bạn chưa biết Github là cái gì á? Nói chung là Daynhauhoc search hoặc Google search nhá
Chuẩn bị
Đầu tiên đăng kí tài khoản Github https://github.com/
các bạn đăng kí 2 cái nhá, để mò mẫm các chức năng của Github cho dễ
Sau đó là cài đặt Github for Windows(GFW) https://windows.github.com/
Cài xong thì nhớ bạn đăng nhập vào GFW 1 tài khoản Github nhá, và mở trình duyệt khác rồi đăng nhập tài khoản 2 vào, ví dụ tài khoản A của mình đăng nhập trên firefox và trên GFW, còn tài khoản B mình đăng nhập trên Google Chrome.
Xong bước chuẩn bị, bây giờ là thực hành
Github có 2 thể loại thế này:
- Tạo một kho lưu code (sau này gọi là repo) cho một project của mình,.
- Tham gia vào một project nào đó.
Bây giờ ta sẽ cho tài khoản A tạo 1 cái repo chứa 1 file test.txt chẳng hạn, tài khoản B sẽ tham gia vào project của tài khoản A.
Tạo repo cho A
Trên giao diện web của A ấn nút New Repository
New Repository
Clone về máy
Mở Github for Windows (GFW) để clone repo về máy
Ấn vào dấu cộng góc trên cùng bên trái, chọn Clone, rồi nó sẽ hiện ra repo mình vừa tạo ở trên, ấn Clone Repository
Thực hiện commit đầu tiên nào!!!
Clone xong thì trên máy có một folder mang tên repo của bạn, bạn cho test.txt
vào đó, khi đó quay lại GFW ta sẽ thấy “cảnh tượng” như này
Ấn Publish để đưa lên repo trên github,chữ publish sau lần đầu tiên sẽ đổi thành sync
Fork về tài khoản B
Bây giờ đến lượt ông B, ông B sẽ “chôm” repo của ông A về tài khoản của mình (hành động này gọi là Fork
)
Từ giao diện web của B tìm đến repo của A rồi ấn nút Fork
Bây giờ B đã có 1 repo chứa dữ liệu giống hệt repo của A
Chỉnh sửa test.txt và Pull request (sau này gọi là PR) từ B tới A
Bây giờ B sẽ chỉnh sửa file test.txt, (chỉnh sửa trực tiếp trên giao diện web của B), khi đó file test.txt giữa A và B đã có sự khác nhau và ta có thể gửi PR từ B tới A , PR nghĩa là B nói với A:“B đã sửa file test.txt, yêu cầu A hợp nhất vào repo của A”, nếu như A đồng ý với yêu cầu đó,thì file test.txt trên repo của A sẽ thay đổi theo file trên repo của B
Và đây là quá trình gửi PR
Thông thường thì github tự động hiện bên nhận PR là repo của A và bên gửi PR là repo của B, nhưng nếu không hiện đúng như vậy thì bạn phải tự chỉnh bằng tay, trong lúc đổi bên nhận gửi PR, thì sẽ có thời điểm là bên nhận và bên gửi là cùng 1 repo, khi đó phải dùng nút CAF để giải quyết
Sang bên A xem có gì xảy ra nào
Sau khi B gửi PR đến A, thì bên A sẽ hiện thông báo có PR, bây giờ ta sẽ chấp nhận PR đó, nội dung của file test.txt trên repo A sẽ bị thay đổi theo file test.txt của bên B
Và bây giờ những thay đổi của B đối với file test.txt đã được chấp thuận và được hợp nhất vào file test.txt của A
Update cho B
Một ngày đẹp trời A sửa file test.txt trên repo của A, nếu B muốn file test.txt của mình cũng được thay đổi giống như A thì sao nhỉ? Xoá repo đi fork lại? gọi điện cho A bảo: “Alo ông gửi pull request cho tôi đi để tôi hợp nhất vào repo của tôi”? Không cần rắc rối như vậy, github cho phép B “tự sướng” tạo một PR từ A đến B rồi tự đồng ý để merge (hợp nhất) vào repo của mình.
Đây là sơ đồ khái quát quá trình trên, cái GFW của B ta không dùng đến vì ta sửa file trực tiếp trên Browser B ,trong thực tế rất ít khi làm như vậy, hầu hết là chỉnh sửa trên local trước rồi mới cho lên (vẽ tay cho nhanh, khi nào phải vẽ lại trên máy tính cho nó chuyên nghiệp mới được )
Rồi, bây giờ thì bạn có thể ngồi nghịch với 2 tài khoản A, B đó cho quen, rồi có thể mò thêm các cái khác như là tạo readme.md, tạo thêm branch, “cỗ máy thời gian”,…
Có vấn đề gì thì cứ hỏi tại đây nhé
Bài viết được đăng tại đây: http://portal.daynhauhoc.com/p/huong-dan-dung-github-tren-windows-co-ban/