Khi đã là một lập trình viên thì GIT là một công cụ không thể thiếu, nếu bạn không biết GIT là gì?, vì sao sử dụng GIT trong project? thì mình sẽ giải thích ngắn gọn như sau.
GIT
là một hệ thông quản lý phiên bản phân tán (VCS - distributed Version Control System)
, là một công cụ lập trình hỗ trợ quản lý code, ghi lại lịch sử thay đổi cũng như phân nhánh (branch), chia nhiệm vụ, và tổng hợp code một cách dễ dàng hơn.
Sau đây là những lệnh GIT
cơ bản.
gitk
: Thao tác git dưới dạng giao diện trực quangit config --global user.name = "<user name>"
git config --global user.email = "<email@.com>"
git config --global credential.helper store
: Tạo một file ~/.git-credentials và lưu tài khoảng dưới dạng text, bảo mật không an toàngit config --global credential.helper "cache --timeout=18000"
: Tự động đăng xuất sau 5 tiếnggit init
: Tạo 1 file .gitgit status
: Xem trạng thái thay đổigit add " <file.name> "
: Chỉ định từng file sẽ được thêmgit add .
: Chỉ định tất cả các file sẽ được thêmgit commit -m" <comment code> "
: Ghi chú trước khi push lêngit remote add origin https://github.com/...
: Tạo liên kết tới Repository githubgit remote -v
: Xem lại và đỉnh đốn đường dẫn nếu remote saigit push -u origin master
: Đẩy lên githubẤn 'Q' để thoát tiến trình command
git log
: Xem lại lịch sử quá trình commit, xuất mã [id.commit]git show <id.commit>
: Xem chi tiết tất cả thay đổi từ [git log]git diff
: Xem lại các thay đổi từ [git status], chưa [git add]->
git remote
: Hiển thị tên remote chỉ địnhgit checkout -- <file.name> : Xoá bỏ tất cả những thay đổi trước đó khi chưa [git add] |
{*RED} |
git reset HEAD <file.name> : Quay lại quá trình khi lỡ [git add .] 1 file nào đó |
{*GREEN} |
git remote set-url origin <name.branch>
: Sửa đổi liên kết Repository githubgit branch
: Kiểm tra nhánhgit checkout -b <name>
: Tạo nhánhgit checkout <name>
: Chuyển nhánh-:>> B -> A
-:>>
git checkout <A>
-:>>
git merge <B>
: Gộp nhánhgit branch -D <name>
: Xoá 1 nhánhgit reset --soft <id.commit> : Quay về commit chỉ định đã [git add] và chỉnh sửa commit |
{*GREEN} |
git reset --mixed <id.commit : Quay về commit chỉ định chưa [git add] và thay đổi commit sau khi add |
{*RED} |
git reset --hard <id.commit>
: Xoá hẵn tiến trình commit đã chỉ định (NGUY HIỂM)git revert <id.commit>
: Chỉ định 1 commit chỉ định và xoá đi những mã nguồn trước đó của một commit, không ảnh hưởng đến các commit nằm trước đó, ảnh hưởng các commit phía dưới (NGUY HIỂM, hạn chế dùng)copy nul <.gitignore>
: Tạo 1 file .gitignore, từ chối push lên github khi chỉ định 1 folder hoặc filegit clone <Clone with HTTPS/SSH>
: Lấy Repositories về từ githubgit pull
: Cập nhật thay đổi trên Repositoriesgit pull <name.remote> <name.branch>
: Cập nhật thay đổi từ các nhánh khác về nhánh chỉ định và merge các sự thay đổigit fetch <name.remote> <name.branch>
: Giống như (git pull git push origin master -f
: Quên pull về, khi push lên thông báo lỗi, nếu pull về sẽ mất đi thay đổi trước đó trên local, nhưng push lên thì sẽ mất đi thay đổi trên server. Lệnh này ép pull đi và push tahy đổi lên. (NGUY HIỂM, nên kiểm tra lại project trước khi bắt đầu công việc)git add -A
: (error: failed to push some refs to) xuất hiện khi nhập lệnh git push
thất bại. Nên bắt đầu lại từ đoạn git add . => git add -Agit add *
và git add .
khác nhau như thế nào?Trả lời:
git add *
được quy định bên trong SELL của hệ điều hành, ý nghĩa bao hàm tất cả thư mục hiện tại đều chuyển tới .git, dấu *
mang ý nghĩa là bao gồm, ( lưu ý rằng các file bắt đầu bởi dấu . đều không thêm vào).git add .
được sử dụng bao gồm tất cả các file bao gồm file bắt đầu bằng dấu . hiện tại đều chuyển tới .gitgit add .
, git add -u
và git add -A
, ?Trả lời:
git add .
: Chỉ thêm các file mới và những file đã sửa đổi bao gồm cả thuộc tính file, không theo dõi các file đã bị xoá.git add -u
: Sẽ không thêm bất kỳ file mới nào, chỉ thêm các file đã sửa đổi khi được theo dõi trước đó bao gồm cã thuộc tính và loại bỏ những file đã bị xoá.git add -A
: Là sự kết hợp giữa git add .
và git add -u
, bao gồm thêm file mới, thuộc tính file và loại bỏ những file đã xoá.Trả lời:
git branch -a
: Giúp liệt kê tất cả cách nhánh từ phía server.git checkout <name-branch>
: Chọn nhánh.git pull origin <master>
: Cập nhật thay đổi từ nhánh master.