Git & Git Hub: Bài 4 Các lệnh cơ bản của git
Hi chào mừng các bạn đến với chủ đề: Sử dụng Git & GitHub
Bài ngày hôm nay chúng ta sẽ cùng tìm hiểu các câu lệnh cơ bản của git.
Trong bài số 3 bạn đã có được project tại nhánh cần làm việc lấy từ server về local.
Lúc này bạn chỉ việc code các nhiệm vụ, tính năng cho dự án.
Trong quá trình bạn code, dự án tại local đã được thay đổi so với server và toàn bộ thay đổi đó được git quản lý chặt chẽ.
Dưới đây là các lệnh git cơ bản để giúp bạn thực hiện kiểm tra, thực hiện các hoạt động cơ bản cho dự án.
1. Bạn muốn kiểm tra tình trạng project.
hiện tại là có bị chỉnh sửa hay không, và những file nào đã bị chỉnh sửa.
=> sử dụng: git status
2. Lệnh xóa màn hình git
– Khi đánh câu lệnh quá nhiều trên màn hình git bạn có thể clear màn hình git bằng câu lệnh : clear
3. Add file hay folder mới vào repo
Khi thêm một file mới vào repo local, nó sẽ được hiển thị màu đó khi gõ git status.
Muốn nó được git quản lý thì bạn phải add nó vào repo bằng câu lệnh:
git add [path file]
4. Commit các thay đổi.
Khi việc sửa file hoàn tất rồi, bạn không sửa thêm gì nữa và bắt đầu muốn đẩy lên server.
Bạn phải sử dụng:
git commit -am “tên thông điệp”
để đưa file về trạng thái commit, nó sẽ cam kết toàn bộ việc sửa được chấp thuận, xác minh rằng trạng thái file là đã được cam kết để đưa lên server.
5. Lấy code mới từ server về:
Trước khi đưa lên server bạn cần lấy code trên server về,
vì có thể code trên server mới được các lập trình viên khác đẩy code mới lên và có thêm nhiều xử lý mới hơn so với code trong repo local của bạn mà bạn đã lấy trước đó nhiều ngày.
bạn sử dụng git pull origin tên nhánh để lấy code mới về.
Nếu bạn làm dự án một mình thì việc này không cần.
Lưu ý:
Việc pull code mới từ server để hợp với code hiện tại của bạn sẽ có xảy ra vấn đề va chạm, gọi là conflick.
Ví dụ:
Bạn lấy code ngày thứ 2. Ngày thứ 3 tại dòng 100 của file code A đồng nghiệp của bạn thêm một hàm F, rồi đẩy lên server
Ngày thứ 4, bạn lại thêm một hàm E cũng tại dòng 100 của file A đó. Sau đó bạn lấy code từ server về.
Git lập tức báo lỗi va chạm, nó sẽ báo rằng: Trên server dòng 100 của file A đang có hàm F. Trong khi code của bạn cũng tại dòng 100 file A lại có hàm E. Vậy code trong local của bạn sẽ lấy cái nào. Lấy server hay lấy local của bạn.
Đó là lỗi conflick, và để xử lý lỗi còn flick người ta sử dụng kỹ thuật merge code.
Bạn phải merge code làm sao mà, không được mất code của đồng nghiệp, và đảm bảo có cả code của mình.
Do đó kỹ thuật merge code là một kỹ thuật phức tạp hơn sẽ cần học trong bài tiếp theo.
Khi merge code thành công, thì code trong local của bạn là code mới nhất, nhiều tính năng nhất. và bạn được phép đẩy lên server.
6. Đẩy code lên server bạn sử dụng câu lệnh:
git push origin tên nhánh
server sẽ cho phép update toàn bộ code trên server theo code đẩy lên của bạn.
Và sau bước push là công việc của bạn đã hoàn thành, bạn có thể tiếp tục công việc mới được giao.
7. Kiểm tra sự khác nhau
Thông thường khi code được một tính năng nào đó trong một thời gian,
trước khi đẩy code lập trình viên có thói quen review code, xem mình đã viết những gì, thay đổi những gì trong thời gian qua.
sử dụng câu lệnh:
git diff
để show toàn bộ những thảy đổi trong dự án.
Màu đỏ là dòng bị mất đi, và màu xanh là những dòng được thêm mới.
8. Kiểm tra lịch sử
git log
để xem lịch sử đẩy code của dự án, bạn sẽ thấy được ai là người đẩy code gần đây nhất.
9. Undo việc sửa một file hay toàn bộ project trong git
Khi bạn sửa một file, nhưng sau đó bạn không muốn sửa file đó nữa, bạn muốn nó trở lại như trạng thái ban đầu.
Bạn sử dụng:
git checkout [tên file] (có thể là đường dẫn đến file)
=> File sẽ trở lại trạng thái ban đầu, toàn bộ những gì thay đổi là mất.
Nếu bạn muốn cho toàn bộ dự án trở lại trạng thái ban đầu thì sử dụng
git checkout – – .
10. Bạn không muốn xem diff trên git mà muốn tạo file diff để xem bên ngoài.
git diff >> tên file
Tên file do bạn đặt tùy ý. Sau khi tạo xong thì một file diff được tạo ra trong repo và bạn có thể mở nó lên xem.
11. Tạo Nhánh trong git
git branch [tên nhánh]
để tạo một nhánh mới.
git checkout [tên nhánh] để chuyển sang nhánh đó.
Nhưng nếu đang từ nhánh a chuyển sang nhánh b thì git yêu cầu bạn phải commit tất cả thay đổi đang có ở nhánh a.
Giải thích qua về nhánh
Nhánh bạn hiểu là những căn phòng riêng lẻ trong một tòa nhà. Nhánh chủ là phòng khách.
Thường người ta sử dụng nhánh cho các version của sản phẩm.
version 1.0, version 2.0
Hoặc sử dụng nhánh cho các loại hình project. như tôi ví dụ ở bài trước.
Ok. Đó là các lênh cơ bản để giúp bạn có thể làm việc với git và quản lý dự án của mình trong git.
Và với các câu lệnh như vậy bạn có thể làm việc được ok trong dự án của team.
___________________________________
Pass Phạm