Nếu các bạn học và làm việc liên quan đến ngành Công nghệ thông tin, chắc không còn xa lạ gì với Git. Git là một công cụ quản lý source code rất hiệu quả, theo như anh leader nói, Git giống như bạn đang chơi xếp hình, nó sẽ biết bạn nên đặt cái gì trước, cái gì sau để cho nó thành một tổng thể, và mọi người có thể theo dõi được các thay đổi, lịch sử trong đó. Thực sự ban đầu khi nghiên cứu về Git, team của mình cãi nhau om tỏi lên. Team mình gồm 3 thành viên hoàn toàn là newbie, và được giao làm một Website Responsive. Ba đứa cùng join một dự án, nên tất nhiên cần dùng git để chia sẻ source code cho nhau rồi. Lên mạng tra tài liệu, ồ, nào là git clone này, git push này.. cách họ hướng dẫn khá chi tiết, nhưng tại sao, khi team mình push lên đều xuất hiện merge, và lỗi là gì? Các thủ thuật dùng Git mà mình tự chiêm nghiệm được: 1. Nếu bạn muốn pull code xuống, hãy đảm bảo trên máy local của mình không có gì thay đổi. Đây là sơ đồ hoạt động của Git Có 2 cách: Cách 1: git stash ---> git pull origin branch_name---> git stash apply stash@{1}: Cách này giống như bạn tạm lưu các công việc của mình vào một nhánh khác, khi đó, code của bạn sẽ trở lại trạng thái giống như bạn pull lần gần nhất bạn chưa thay đổi gì mới, sau đó pull code mới nhất trên server về, rồi dùng lệnh apply để lưu lại thay đổi bạn đã tạm copy ra nhánh khác vào nhánh chính bạn đang làm việc. Có thể dùng lệnh$git stash list nếu bạn muốn apply lại thời điểm stash nào tùy ý. Ở đây mình là stash@{1} Cách 2: Bước 1. git add link_file_da_thay_doi. Trên mạng hay dùng git add. hay git add * nhưng mình khuyên các bạn không nên dùng vì nó sẽ add tất cả các thay đổi của các bạn, nhưng có những thay đổi ngầm mà bạn không biết, nó cũng sẽ add vào. Đầu tiên mình sẽ dùng git status duong_link_den_thu_muc_chua_cac_file để xem các file đã thay đổi. Rồi bạn mới dùng lệnh git add link_file để lưu từng file đã thay đổi nhé. Hơi mất công nhưng an toàn. Bước 2: git commit -m "commit nào đó" Bước 3: git log --oneline: câu lệnh này để xem những vị trí commit trên local của bạn có khác với trên server hay không. Nếu giống nhau, bạn chỉ cần thực hiện push lên là được. git push origin branch_name. Nếu khác nhau, thì bạn cần pull code về trước khi push code của mình lên. Bước 4: git pull --rebase origin branch_name. Lệnh này có thêm --rebase theo mình nghĩ, là để nó format nhánh cây trong git của bạn đúng với thứ tự nhánh cây trên server, và commit bạn vừa tạo được đẩy lên trên cùng. Giả sử, thứ tự commit trên local của bạn là A, B, C mà trên server là A, B, D. Trong đó, C là commit bạn vừa tạo, D là commit một người nào đó đã push lên trước bạn. Khi dùng --rebase, git sẽ tự động format nhánh cây trên local của bạn theo dạng A, B, D, C để cho commit C của bạn lên trên cùng Bước 5: Vậy là bạn có thể push lên ngon lành rồi. git push origin branch_name. Ngoài ra, bạn nên tìm hiểu git. Alias, theo mình nghĩ đó là một cách giúp bạn tăng tốc trong việc sử dụng câu lệnh, thay vì bạn cần đánh một chuỗi dài ngoẵng, bạn có thể đặt cho nó một định danh và gọi nó đơn giản hơn rất nhiều. Bổ sung cho mình nếu có sai sót nhé. Chào!