Thành thạo git và 1 số command line
GIT - Global Information Tracker
Github is a service that hosts Git repositories in the cloud and makes it easier to collaborate with other people.
Check after installing: git --version
Check username:
git config user.name
Config email:
git config --global user.email yourEmail
Check email:
git config user.email
ls -a : list các file bao gồm cả thư mục hoặc file ẩn
cd ‘location’: di chuyển giữa các ổ, thư mục
touch ‘fileName’: tạo file mới
cd .. : trở lại thư mục trước đấy
pwd: In ra path của thư mục đang làm việc
mkdir (make directory): tạo 1 folder
rm (remove): xoá 1 hoặc nhiều file
rm -rf folderName: xoá 1 hoặc nhiều folder
open . : Mở ra Finder (Windows sẽ là start . ) trong trường hợp muốn mở 1 folder bất kỳ thì thay chấm thành folder vd open Documents
clear: clear lịch sử trước đấy
git status: hiện các thay đổi
git add . : thêm tất cả các thay đổi
git commit -m ‘the summary of changes’ : commit changes
git log: show log (các commit trước đấy)
git init: tạo mới 1 git repository
<Anytime we want to use Git with a project, app, etc we need to create a new git repository>
Edit with vim
For example with you commit code with git commit
Khi vào màn hình VIM
- nhấn I (Insert) để tạo commit
- Thêm comment
- Nhấn esc để thoát mode insert
- Nhập :wq để thoát (write quit)
git log --oneline: dùng để show log 1 dòng (id + comment)
Đối với VS code tham khảo thao tác setting dưới:
To open a file or directory use the command:
code /path/to/file/or/directory/you/want/to/open
For macOS users, it needs to be installed manually:
- Launch VS Code.
- Command + Shift + P to open the Command Palette.
- Type shell command, to find the Shell Command: Install 'code' command in PATH and select to install it.
- Restart your terminal.
- .DS_Store will ignore files named .DS_Store
- folderName/ will ignore an entire directory
- *.log will ignore any files with the .log extension
Tạo file gitignore => touch .gitignore
git add ., git commit -m ….
HEAD đơn giản là 1 con trỏ refer đến location hiện tại trên repository(nơi bạn view hoặc check). Nó trỏ đến 1 brach cụ thể, thông thường HEAD luôn trỏ đến commit gần nhất bạn tạo trên nhánh master tuy nhiên chúng ta có thể di chuyển xung quang và lúc đố HEAD sẽ thay đổi. (Giống như 1 bookmark tuy nhiên HEAD giống như phần mở ra của quyến sách)
git branch: show list branch + current branch (đánh dấu bằng * )
git branch <branch-name> : tạo mới 1 branch
git switch <branch-name> : Chuyển nhánh
git commit -a -m “comment”: gồm 2 lệnh git add và git commit gộp vào
git switch -c <branch-name> : Create nhánh mới và chuyển nhánh
git checkout -b <branch-name>: Giống trên nhưg hay đc sử dụng hơn
git checkout - : switch tới nhánh làm việc gần nhất
git branch -d <branch-name> : Xoá 1 branch (có thể dùng --delete)
git branch -D <branch-name> : Xoá trong 1 branch ko clean (có thể dùng --delete --force)
git branch -m <new-branch-name> : thay đổi tên của branch hiện tại
cat <fileName> : đọc file tại cmd
code . : mở file bằng IDE
open . : để mở file trên Finder
git merge <branch-name>: sử dụng để merge branch-name vào branch đích
git diff: xem các thay đổi trên các file
git diff --staged or --cached: hiện list các thay đổi giữa mt làm việc và commit cuối
git diff branchName..branchName: hiện list thay đổi giữa 2 branch
git diff commit1..commit2: hiện list thay đổi giữa 2 commit
git stash pop: đẩy các tiến trình đã lưu vào nhánh đang làm việc (Clear các bản stash trước)
git stash apply: đẩy các tiến trình đã lưu vào nhánh đang làm việc (ko clear các bản stash trước)
git stash list: show list stash đã lưu theo dạng stash@{1}
git stash apply stash@{1}: để đẩy các tiến trình đã lưu của stash 1 về nhánh đang làm việc
git stash drop stash@{1}: để xoá stash cụ thế ko cần dùng nữa
git stash clear: để xoá tất cả các stash
git stash list -p: xem nội dung từng thay đổi
git stash show stash@{1}: nội dung cụ thể hơn nữa của lần thay đổi thứ 1
git stash branch <name> stash@{1}: Nếu bạn cần một stash cụ thể bạn có thể chỉ định stash id.Điều này thật sự hữu ích khi bạn gặp rắc rối sau khi đã áp dụng stash vào phiên bản mới nhất của chi nhánh
khi gặp trường hợp này HEAD ko trỏ tới branch nữa mà trỏ tới commit, để giải quyết trường hợp này có 2 cách : 1. Switch back về master hoặc bất kỳ branch nào muốn/ 2. tạo 1 branch mới và add commit sau đấy switch về master
git checkout HEAD~1 refer tới commit trước HEAD (parent)
git checkout HEAD~2 refer tới commits trước HEAD (grantparent)
git checkout HEAD <file> : revert lại file về commit gần nhất khi viết sai
git checkout – <file>: cách viết ngắn gọn của git checkout HEAD <file>
git restore --source HEAD~2 dog.txt: restore file dog.txt về lần trạng thái của 2 lần trước đó
git restore : restore file về trạng thái commit lần gần nhất
git restore --staged <file-name>: nếu bạn lỡ thêm 1 file vào staging area vs git add và bạn ko muốn nó bao gồm trong commit tiếp theo, sử dụng câu này để remove nó ra khỏi staging
git reset <commit>: xoá commit bị commit nhầm (chỉ xoá commit trên tree ko xoá đi các thay đổi trên file)
git reset --hard <commit> : xoá commit và cả những thay đổi theo commit đấy
get revert <commit-hash>: thay vì xoá commit thì revert tạo 1 branch mới
All rights reserved