Git & Git Hub: Bài 3 Clone repo từ server về local
Hi. Chào mừng các bạn đến với blog: Phát Triển Phần Mềm 123AZ
Chủ đề: Sử dụng Git & Git Hub cơ bản.
Sau khi hoàn thành việc kết nối local và server github như trong bài số 2.
Bài số 3 này chúng ta sẽ cùng thực hiện việc clone một repo từ server github về máy local.
Hoặc đẩy một project từ local nên server.
1. Clone repo từ github về máy tính local.
Đây là cách phổ biến, cho lần đầu đưa dự án vào quản lý,
hoặc khi bạn đi làm và join và dự án các bạn cũng sẽ thực hiện việc clone project đã có của team trên server về máy tính của các bạn.
Nếu các bạn tự làm project và quản lý bằng git, lần đầu đưa project vào git quản lý thì mình khuyến khích các bạn làm theo cách này.
Nghĩa là chúng ta sẽ tạo repo trên server trước, sau đó lấy nó về máy local, rồi mới copy dự án vào và đẩy lại nó lên server.
Giả sử các bạn tạo repo có tên là GameCpp theo hướng dẫn ở bài 1.
Bây giờ chúng ta sẽ lấy nó về local.
Có hai trường hợp xảy ra lúc này.
+ Bạn tự làm project và lần đầu đưa project của bạn vào git để quản lý, nghĩa là repo của bạn trên server chưa có gì, hoặc có các project khác, chứ chưa có project hiện tại.
+ Bạn là một thành viên join và team đã có project phát triển được một thời gian, nghĩa là repo trên server đã có code.
Case 1: Lần đầu đưa project vào quản lý.
step 1:
Các bạn tạo một folder trên máy local của các bạn trong môt ổ nào đó.
Ví dụ ở F, và tên folder là: RepoGame
Các bạn bật git lên và chui vào trong folder này bằng câu lệnh
cd /d/RepoGame
step 2:
Các bạn đánh câu lệnh:
git clone git@github.com:account/tên repo
Ví dụ các bạn đăng ký tài khoản git hub với nick name là : dev88, tên repo như ở trên là GameCpp.
Thì các bạn đánh command:
git clone git@github.com:dev88/GameCpp
Nếu có yêu cầu mật khẩu, các bạn nhập mật khẩu lúc tạo ssh key vào và sau đó sẽ thấy % clone repo được thực hiện.
Một folder GameCpp được clone từ server về folder local của bạn.
GameCpp lúc này là môt repository được quản lý bởi git và là repo local.
Bạn tiếp tục chui vào folder này qua câu lệnh.
cd /d/RepoGame/GameCpp rồi enter
Trên git bạn sẽ thấy path trỏ vào repo GameCpp và bên cạnh có tên nhánh là: master
Đó là nhánh chủ của repo GameCpp.
Như vậy bạn đã clone được repo từ server về local, và repo của bạn hiện chưa có gì, và nó đang có một nhánh chủ master.
Bạn chưa cần hiểu khái niệm nhánh là gì nhé.
2. Đưa một project từ local nên repo trên server github.
step 1:
Bạn nên thực hiện một quá trình đẩy 1 file bấ kỳ đầu tiên lên server
nếu không việc tạo nhánh ở bước sau thường bị thông báo lỗi.
Cách làm như sau:
Bạn vào my computer tìm đến ổ D mở folder GameCpp ra và tạo 1 file text, ví dụ là file readme.txt.
Sau đó trên git bạn đánh cậu lệnh sau:
kiểm tra trạng thái: git status => bạn sẽ thấy git show ra file vừa được thêm mới có màu đỏ
Add file vào repo: git add readme.txt => để add nó vào repo
git status => sẽ thấy nó chuyển sang màu xanh.
Commit các thay đổi: git commit -am “add new file” => commit file
-git push origin master => đẩy file lên server
Nhập password và enter => push thành công.
step2:
Tạo một nhánh mới, vì hầu hết ko ai để dự án tại nhánh chủ của repo.
Bạn tưởng tưởng nhánh chủ của repo như môt phòng khách.
Còn các nhánh khác như là một phòng con, do đó một repo có thể tạo nhiều nhánh và mỗi nhánh như một cái phòng riêng.
Ví dụ bạn có Repo là GameCpp, nhưng bạn lại có 2 loại project game c++ khác nhau.
Ví dụ game c++ 2d, game c++ 3d, thì bạn có thể tạo nhánh riêng cho chúng.
– Bạn tạo nhánh game2d với câu lệnh như sau.
git branch game2d
Nếu không có thông báo lỗi gì thì là thành công
sau đó bạn đánh lệnh
git checkout game2d
=> Repo sẽ được chuyển sang nhánh game2d.
Lúc này bạn bắt đầu copy toàn bộ dự án code của bạn vào folder này. Mở folder trên máy tính rồi copy như bình thường.
Nhớ xóa các folder debug, release, ipch, file dfs.. (Nói chung là những file được xuất hiện khi biên dịch).
Các bạn có thể mở file .gitignore để update các file folder mà git ko quản lý như chia sẻ ở bài 1.
Sau khi copy xong, các bạn lại đánh comand trên git
git status
các bạn sẽ thấy folder dự án các bạn xuất hiện với màu đỏ.
Các bạn đánh
git add [tên folder dự án]
=> Toàn bộ file trong dự án sẽ được add vào repo, các bạn sẽ thấy nó màu xanh khi đánh lại git status
sau đó : git commit -am “message tùy ý do các bạn chọn”
Cuối cùng là:
git push origin game2d
Nhập password được yêu cầu.
Lúc này trên server tại repo GameCpp sẽ tạo ra một nhánh có tên là game2d, và nó đẩy toàn bộ file source tại local lên trên server github.
Và như vậy bạn đã hoàn thành được việc đưa dự án của mình vào hệ thống quản lý git và git hub.
Case 2: Nếu là thành viên mới join và team.
Nếu bạn là thành viên của team đã phát triển dự án có sẵn rồi.
Thì bạn chỉ việc thực hiện đến bước git clone để lấy dự án từ server về local.
Lúc này dự án đã có rồi, code đã có rồi và thậm chí có rất nhiều branch có sẵn rồi.
Bạn chỉ việc checkout nó sang branch mà team đang phát triển, đang code để show được project lên.
Bạn có thể hỏi sếp tên nhánh là gì và dùng luôn câu lệnh git checkout tên nhánh để chuyển từ master sang nhánh đó.
Hoặc bạn có thể sử dụng câu lệnh git remote show origin để xem toàn bộ nhánh của repo hiện có trên server.
Tóm lại nếu bạn là thành viên mới của dự án, bạn chỉ cần thực hiện đến việc
+ git clone repo từ server về
+ và sau đó thực hiện git checkout sang nhánh cần làm.
Ok. Như vậy đến trong bài số 3 này. Bạn đã có thể đưa project lên github để lưu trữ và quản lý project git hub.
Hoặc lấy được project trong dự án của nhóm về để bắt đầu làm việc.
Bạn có thể tiếp tục code dự án của mình với các tính năng mới.
Bài số 4: Làm quen với các lệnh cơ bản trong git để bạn có thể làm việc tốt trong team.
_____________________________
Pass Pham