Hướng dẫn dùng Github trên Windows cơ bản (step by step)

#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 :blush:

Mà bạn chưa biết Github là cái gì á? Nói chung là Daynhauhoc search hoặc Google search nhá :blush:

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:

  1. Tạo một kho lưu code (sau này gọi là repo) cho một project của mình,.
  2. 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
Điền tên repo với description là được, mấy cái còn lại thì cứ kệ nó nhá (kệ vì nó không ảnh hưởng lắm đến bài viết này, chứ không phải không quan trọng đâu nhá :blush: )

Creat Repository là xong

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 :blush:


Ấn Show rồi commit
Vậy là thay đổi của bạn giờ được lưu vào lịch sử thay đổi trên máy của bạn, sau đó ta sẽ cho lên repo trên github

Ấ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


Bắt đầu chỉnh sửa file test.txt trên repo 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.


Nghĩa trên giao diện web của B, chỉ cần tạo PR : bên nhận là repo B còn bên gửi là repo A

Đâ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 :smile: )

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”,… :smile:
Có vấn đề gì thì cứ hỏi tại đây nhé :wink:

Bài viết được đăng tại đây: http://portal.daynhauhoc.com/p/huong-dan-dung-github-tren-windows-co-ban/

51 Likes

Đấy là tính năng backup ảnh của diễn đàn đấy. Để tránh bị mất ảnh về sau.


Bài viết rất công phu, phải đem share cái này mới được, diễn đàn mình có ai chưa nắm github thì vào đọc nhé.

4 Likes

Like cho cái hình vẽ giấy của bác… Rất công phu, rất kì công.

2 Likes

Lười vẽ máy quá nên đành chơi kiểu đó hehe :blush:

1 Like

@thanhmssl10 Cảm ơn bác rất nhiều, hổm rài cũng xài cái github cho windows mà loai hoai mãi :smile:
Nay có bài của bác thì tốt rồi :wink:

2 Likes

:+1: Em ít viết tut nên nhiều lúc hơi rối, bác thấy chỗ nào viết khó hiểu quá thì bảo em nhá :blush:

Cũng dễ hiểu lắm bác ạ :wink:
Bác làm thêm tut về tạo readme.md, tạo thêm branch, “cỗ máy thời gian”,… nữa là tuyệt vời :wink:

1 Like

Em đang làm rồi, sẽ hướng dẫn những hoạt động sâu hơn của github :blush:

1 Like

Bài viết được đăng tại đây: http://portal.daynhauhoc.com/p/huong-dan-dung-github-tren-windows-co-ban/

Đã 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 xem thêm tại đây…

2 Likes

Phần đi đến thảo luận bị lỗi rồi Hân ơi :smile:

1 Like

Thay 1 thành 6526 :blush:

1 Like

Đã fix :smile: Thank @thanhmssl10 and @kayz

2 Likes

Có ai biết cho mình hỏi tí cái chỗ chỉnh sửa file test.txt ở repo B để Pull requests ngược lại A . Sao mình không có chỗ Edit được file nhỉ ? Nó hiện như thế này nè !

Cảm ơn trước nhé !

1 Like

file của bạn có phải là txt đâu, là docx mà :blush:

Khi nào anh viết thêm bài dùng Github trên Linux đi.

1 Like

Khi nào có thời gian mình sẽ thử nghiên cứu bên linux :blush:

Thử phát bằng file bằng txt cũng thế mà ? Chẳng hiểu sao nữa …

1 Like

file .txt được thoải mái nhá :blush:, bạn chụp toàn màn hình được không (khi dùng txt á)

Cảm ơn bạn mình sửa được rồi !

2 Likes

Hay. Many thank anh.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?