Sổ tay sử dụng Git
Đây là một bài hướng dẫn sử dụng GIT đơn giản cho người mới học =))
cài đặt
Window: https://git-scm.com/download/win
IOS: https://git-scm.com/download/mac
Linux: https://git-scm.com/download/linux
Tạo một repository mới
Để tạo 1 repository mới, bạn hãy mở cửa sổ lệnh (cmd…) và gõ dòng lệnh sau:
git init
Sao chép (clone) một repository
Để clone 1 repository có sẵn ở trên máy cục bộ, bạn hãy sử dụng dòng lệnh sau:
git clone /đường-dẫn-đến/repository/
Nếu repository đó ở máy chủ khác như là Github hoặc Bitbucket thì bạn hãy gõ dòng lệnh sau:
git clone tênusername@địachỉmáychủ:/đường-dẫn-đến/repository
Hoặc bạn có thể copy trực tiếp trên Github
Quy trình làm việc
Thư mục cục bộ của bạn bao gồm ba “trees” được duy trì bởi git. Đầu tiên là Thư Mục Đang Làm Việc (Working Directory)
có chứa các tập tin hiện tại. cái thứ hai là Chỉ Mục (Index)
đóng vai trò như staging area và cuối cùng là HEAD
trỏ đến commit gần đây nhất của bạn.
thêm (add) & commit
Bạn có thể đề xuất thay đổi (thêm nó vào chỉ mục Index) bằng cách
git add <tên-tập-tin>
Thêm toàn bộ:
git add .
Đây là bước đầu tiên trong quy trình git cơ bản. Để thật sự commit những thay đổi, bạn sử dụng:
git commit -m "Ghi chú Commit"
Bây giờ thì tập tin đã được commit đến HEAD, nhưng chưa phải trên thư mục remote.
đẩy (push) các thay đổi
Thay đổi của bạn hiện đang nằm tại HEAD của bản sao cục bộ đang làm việc. Để gửi những thay đổi đó đến repository remote, bạn thực thi
git push origin master
Thay đổi master bằng bất cứ nhánh nào mà bạn muốn đầy những thay đổi đến.
Nếu bạn chưa clone một repository hiện có và muốn kết nối repository của bạn đến máy chủ remote, bạn phải thêm nó với
git remote add origin <máy-chủ>
Bây giờ bạn đã có thể đẩy các thay đổi của mình vào máy chủ đã chọn
nhánh
Các nhánh (branches) được dùng để phát triển tính năng tách riêng ra từ những nhánh khác. Nhánh master là nhánh “mặc định” khi bạn tạo một repository. Sử dụng các nhánh khác tri đang trong giai đoạn phát triển và merge trở lại nhánh master một khi đã hoàn tất.
Tạo một nhánh mới và đặt tên là “feature_x” và chuyển qua nhánh đó (từ master) bằng cách
git checkout -b feature_x
trở lại nhánh master
git checkout master
và xóa nhánh feature_x đó
git branch -d feature_x
một nhánh không có giá trị với các nhánh khác trừ khi bạn đẩy (up code) nhánh đó đến remote repository
git push origin <nhánh>
cập nhật & trộn (update & merge)
để cập nhật repository cục bộ của bạn và commit mới nhất, thực thi
git pull
trong thự mục đang làm việc để lấy về (fetch) và trộn (merge) các thay đổi ở remote.
để trộn một nhánh khác vào nhánh đang hoạt động (vd: master), sử dụng
git merge <nhánh>
trong cả hai trường hợp, git cố gắng trộn tự động (auto-merge) các thay đổi. Không may, điều này không phải lúc nào cũng làm được và thường dẫn đến xung đột. Trách nhiệm của bạn là trộn các xung đột đó thủ công bằng cách chỉnh sửa các tập tin được hiển thị bởi git. Sau khi thay đổi, bạn phải đánh dấu chúng là đã được trộn (merged) với lệnh
git add <tên-tập-tin>
trước khi trộn các thay đổi, bạn có thể xem trước chúng bằng các
git diff <nhánh_nguồn> <nhánh_mục_tiêu>
Xem thêm: https://rogerdudler.github.io/git-guide/index.html
Xem thêm: