Git Tips

Các thiết lập Git

git config --global user.name <username> #Thiết lập tên người dùng
git config --global user.email <mailaddress> #Thiết lập địa chỉ email
git config color.ui true #Màu cho kết quả trả về
git config --global --list #Hiển thị danh sách đã thiết lập

Git clone

git clone [email protected]:your-username/your-repo.git     #Sử dụng SSH
git clone https://github.com/your-username/your-repo.git #Sử dụng HTTPS

Upload Repository

cd your-directory
git init
git remote add origin [email protected]:your-username/your-repo.git
git add .
git commit -am "Message"
git push -u origin master

Git submodules

Thêm module

git submodule add <repository> [<path>]
  • repository - địa chỉ của repo cần lấy về
  • path - đường dẫn lưu repo. Nếu ta không chỉ định đường dẫn thì repo sẽ được lưu vào thư mục có tên giống với tên repo.
  • Ví dụ:

    git submodule add https://github.com/vidu/abc.git themes/abc

    Chạy lệnh git status để kiểm tra những thay đổi trong thư mục khi chạy lệnh trên. Lúc này, ta sẽ thấy một file có tên .gitmodules được tạo ra, nó là file chứa các thông tin của các module được đưa vào dự án của ta. Mở file .gitmodules ta sẽ thấy nội dung như sau:

    [submodule "abc"]
        path = abc
        url = https://github.com/vidu/abc.git

Cập nhập module

Khi cần cập nhập module, ta dùng lệnh:

$ git submodule update [--init]

Lựa chọn --init sẽ cho phép ta cập nhập các module chưa được lấy về. Ví như ở máy tính của bạn, bạn chạy lệnh add để lấy repo về rồi, thì không cần --init nữa. Còn ở các máy tính khác, repo chưa được lấy về, thì ta cần phải thêm lựa chọn này.

Xoá module

Với các repo không cần nữa, ta có thể xoá bỏ nó đi bằng lệnh:

git rm <path> #Ví dụ: git rm themes/abc

Thao tác Tag

git tag #Hiển thị danh sách các Tag đã có.
git tag -n #Hiển thị danh sách các Tag đã có và các chú thích.
git tag <tagname> #Tạo tag
git tag -a <tagname> #Tạo tag kèm theo chú thích
git tag -d <tagname> #Xóa một Tag

Clone Tag

Khi chạy lệnh $ git clone thì bạn chỉ tải được branch mặt định là master. Để tải riêng từng tag thì ta cần phải fetch toàn bộ tags về và checkout tạo branch mới với tag tương ứng:

git fetch origin 'refs/tags/*:refs/tags/*'

Sau khi chạy lệnh trên, ta có thể kiểm tra lại các tags hiện có bằng lệnh

git tag -l

Tiếp theo checkout để lấy mã nguồn của tag mong muốn

git checkout tags/[YOUR_TAG_NAME] -b [YOUR_TAG_NAME]

Tóm lại ta có 2 lệnh chính là fetchcheckout như sau:

git fetch origin 'refs/tags/*:refs/tags/*'
git checkout tags/[YOUR_TAG_NAME] -b [YOUR_TAG_NAME]
© 2019-2021 Phan Nhật Chánh