Git (IG) (edit)
# Do 'git add' git add src/Input/Data.csv
git add .
# Undo 'git add' before commit?
git rm --cached src/Input/Test.csv
git rm --cached docs
git tag -l
git tag -a v0.1 -m "release version 0.1"
Khi bạn gặp tình huống phải lấy lại toàn bộ source của một branch theo một commit xác định
Lý do: Để kiểm tra những thay đổi bạn đã làm ở thời điểm hiện tại so với thời điểm commit xác định ở trên
git checkout -b <new-branch-name> <commit-id-sha>
Git Show: How do I list all of the files in a commit?
git show --pretty="" --name-only d36bc8f4a2f0199fc7121e19712ba0ac763043de
git diff-tree --no-commit-id --name-only -r d36bc8f4a2f0199fc7121e19712ba0ac763043de
git - How do I list all of the files in a commit? - Stack Overflow
Git Log: How to list all commits that changed a specific file?
git log -- follow -- filename BE/Web.Api/Controllers/DocumentApiController.cs
git - How to list all commits that changed a specific file? - Stack Overflow
Khi bạn muốn xóa bin, obj phía BE mà không muốn ảnh hưởng đến node_modules phía FE
Get-ChildItem .\ -Include bin,obj -Recurse | Where-Object {-not($_.FullName.ToLower().Contains("node_modules"))} |foreach ($_) { Remove-Item $_.fullname -Force -Recurse }
Remove bin, obj via command prompt
for /d /r . %d in (bin,obj) do @if exist "%d" rd /s/q "%d"
taskkill /im VBCSCompiler.exe /f /t
taskkill /IM iisexpress.exe /F
taskkill /im msbuild.exe /f /t
Remove bin, obj via a .bat file
for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
Hướng dẫn sử dụng git – Các lệnh cơ bản của GIT
git config
Một trong các lệnh được dùng nhiều nhất là git config, có thể được cấu hình cho cá nhân với các giá trị của emails, thuật toán cho diff, username và file format,… Ví dụ, command bên dưới có thể dùng cho email:
git config --global user.email sam@google.com
git init
Lệnh này được dùng để tạo GIT repository. Cách dùng:
git init
git add
Lệnh git add có thể được dùng để thêm file vào index. Ví dụ, command sau có thể thêm một file có tên temp.txt vào thư mục local vào index:
git add temp.txt
git clone
Lệnh git clone được dùng với mục đích check out. Nếu respository phụ thuộc vào server từ xa, sử dụng:
git clone alex@93.188.160.58:/path/to/repository
Ngược lại, nếu một bản repository đang hoạt động tại local đã được tạo, hãy dùng:
git clone /path/to/repository
git commit
Lệnh git commit được dùng để commit thay đổi từ đầu. Hãy lưu ý là thay đổi không được áp dụng cho repository của server từ xa :
git commit –m "Message to go with the commit here"
git status
Lệnh git status hiển thị danh sách thay đổi của files được thêm hoặc commited. Cách dùng:
git status
git push
git push là một lệnh được sử dụng nhiều của git. Một lệnh push đơn giản sẽ gửi thay đổi tới master branch của repositories của server từ xa được chỉ định với một thư mục. Ví dụ:
git push origin master
git checkout
Lệnh git checkout có thể được dùng để tạo branch hoặc chuyển giữa chúng. Ví dụ, lệnh sau tạo một branch mới và chuyển tới nó;
command git checkout -b <branch-name>
Để chuyển từ branch này sang branch khác, hãy dùng:
git checkout <branch-name>
git remote
Lệnh git remote giúp user kết nối tới repository từ xa. Lệnh sau liệt kê danh sách repositories từ xa mà đang được cấu hình:
git remote –v
Lện này cũng giúp người dùng kết nối từ repository ở local tới remote server:
git remote add origin <93.188.160.58>
git branch
Lệnh git branch có thể được dùng để liệt kê, tạo hoặc xóa branches. Để liệt kê tất cả các branches đang có trong repositories, hãy dùng:
git branch
Để xóa branch:
git branch –d <branch-name>
git pull
Để merge tất cả các thay đổi trên remote repository tới thư mục đang chạy trên local, pull command cần được dùng. Cách dùng:
git pull
git merge
Lệnh git merge được dùng để merge một branch vào một branch đang hoạt động. Cách dùng:
git merge <branch-name>
git diff
Lệnh git diff được dùng để liệt kê xung đột. Để hiển thị xung đột với base file, sử dụng:
git diff --base <file-name>
Command bên dưới được dùng để hiển thị mâu thuẫn giữa branches sắp được merge:
git diff <source-branch> <target-branch>
Để hiển thị các mâu thuẫn hiện tại, sử dụng:
git diff
git tag
- Annotated tag
- Light-weighted tag
Git - git-tag Documentation (git-scm.com)
Git Tag Explained: How to List, Create, Remove, and Show Tags in Git (freecodecamp.org)
- git tag <name-of-tag>
- git tag v1.3 (=> Light-weight tag)
- git tag -a v1.3 (=> Annotated tag )
- git tag with the -a, -s, or -m options
- git tag
- git show v1.3
- git tag -l *-rc*
- git tag -l "v2.0*"
- git tag -a -f v1.3
- git push origin v1.3
- git checkout v1.3
- git tag -d v1.3
git log
Chạy git log cho ra danh sách commits trên branch với thông tin cần thiết. Một output đơn giản có thể là:
commit 15f4b6c44b3c8344caasdac9e4be13246e21sadw Author: Alex Hunter <alexh@gmail.com> Date: Mon Oct 1 12:56:29 2016 -0600
git reset
Để reset index và thư mục đang chạy với lần commit cuối cùng, git reset command được dùng. Cách dùng:
git reset --hard HEAD
git rm
git rm có thể được dùng để loại bỏ files từ trong index và thư mục đang hoạt động. Cách dùng:
git rm filename.txt
git stash
Là một trong số ít lệnh cơ bản ít được biết đến, git stash giúp bạn lưu lại thay đổi mà chưa được commited ngay lập tức, nhưng tạm thời. Sử dụng:
git stash
git show
Để hiển thị thông tin về bất kỳ git object nào, hãy dùng git show. Ví dụ:
git show
git fetch
git fetch cho phép user tải tất cả object từ remote repository mà không có trên thư mục local. Ví dụ sử dụng:
git fetch origin
git ls-tree
Để hiện tree object với tên và mode của mỗi item, và giá trị blob’s SHA-1, sử dụng command, hãy dùng command git ls-tree. Ví dụ:
git ls-tree HEAD
git cat-file
Sử dụng giá trị SHA-1, hiển thị loại của object bằng cách dùng command git cat-file. Ví dụ:
git cat-file –p d670460b4b4aece5915caf5c68d12f560a9fe3e4
git grep
git grep giúp người dùng tìm kiếm qua nội dung dạng cây cho cụm từ và từ. Ví dụ, để tìm từ www.hostinger.com trong tất cả các file:
git grep "www.hostinger.vn"
gitk
gitk là một giao diện đồ họa cho local repository có thể được kích hoạt bằng cách gõ và chạy:
gitk
git instaweb
Với lệnh git instaweb, một web server có thể chạy command, một web server có thể chạy trên local repository. Một trình duyệt web có thể tự động được chỉ định tới nó. Ví dụ:
git instaweb –httpd=webrick
git gc
Để tối ưu repository với garbage collection, sẽ dọn dẹp các file không cần thiết và tối ưu chúng, sử dụng:
git gc
git archive
Lệnh git archive giúp người dùng tạo file zip hoặc file tar chứa các thành phần của một cây repository. Ví dụ:
git archive --format=tar master
git archive --format=zip master
git prune
Qua lệnh git prune, objects không có bất kỳ pointers nào sẽ được xóa. Cách dùng:
git prune
git fsck
Sử dụng command git fsck để xác định lỗi của bất kỳ object
git fsck
git rebase
Lệnh git rebase được dùng để áp dụng lại commits của một branch khác. Ví dụ:
git rebase master
Tham khảo
Hướng dẫn sử dụng git - Các lệnh cơ bản của GIT (hostinger.vn)