Cách sử dụng GIT cơ bản đến nâng cao

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Sau đây cách sử dụng GIT cơ bản đến nâng cao, hay dùng ở mọi công ty.
- Tải git: https://git-scm.com/downloads

Sử dụng gitlab: click chuột phải chọn “Git base here” tại thư mục dự án.
Để tải dùng câu lệnh: git clone link file


LỆNH CƠ BẢN VỚI GIT
QueryStatusExample
I. Lệnh truy xuất
Git initTạo kho dữ liệu để lưu code trong folder .gitGit init
Git pullĐồng bộ từ mạng về máyGit pull
git cloneLấy file về$ git clone https://gitlab.com/
II. Lệnh thay đổi
git statusKiểm tra sự thay đổi ở localGit status
git addAdd file from LocalhostGit add test1.txt (git add . :all)
git commit –m “message”Check changed and comment (add/delete) fileGit commit –m “add new file test1.txt”
git commit --amendSửa tên commit, sửa tên xong nhấn thoát để lưu và chạy tiếpgit commit --amend
Git pushConfirm add file to GitlabGit push
Git push -fGit push -force: giúp lấy lệnh push gần nhất chèn vào tất cảGit push -f
III. Lệnh kiểm tra
Git logCheck history logGit log (nhấn “q” để dừng)

LỆNH NÂNG CAO VỚI GIT (Branch)
QueryStatusExample
I. Lệnh truy xuất
Git branchTạo 1 branch xử lý riêngGit branch add-link-test
Git branch –aXem tất cả các kenhGit branch –a . Nhấn q để thoát xem
Git branch –d tenkenhXóa kênhGit branch –d tenkenh
$ git push origin --delete tenkenhXóa kênh origin$ git push origin --delete bug/999
Git checkoutQua kênh branch xử lý riêngGit checkout add-link-test, Git checkout master(ve kenh goc)
Git checkout -bQua kênh mới từ kênh developGit checkout -b bug/#9999
Git mergeChuyển dữ liệu từ branch1 vào masterGit merge branch1
Git revert SHA-1Undo lại dữ liệu trước, SHA-1 mã file trong gitlabGit revert SHA-1
Git reset --soft SHA-1Reset lại dữ liệu trước trong commit (nên sử dụng). Sau đó push -fGit reset --soft SHA-1
Git push -fĐưa dữ liệu cũ ->HEAD lên đầu để push, xóa các commit trướcGit push -f
Git rebase
Git cherry-pick

XỬ LÝ CONFLICT (Branch)
QueryStatusExample
I. Lệnh truy xuất
git reflogKiểm tra sự thay đổi trên branchgit reflog
git reset --merge (mã thay đổi)Tìm kiếm lệnh merge theo commitgit reset --merge e405c44
Git rebase
Git cherry-pick
 
Chỉnh sửa lần cuối:

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Cách xử lý conflit:
Có 2 nhánh: develop, Task#123
1. Về nhánh develop và pull bản mới nhất:
Mã:
git checkout develop
git pull
2. Tạo nhánh conflit mới rồi mợi nhánh cũ:
Mã:
git checkout -b Task#123Conflit
git merge Task#123
3. Vào Merge Changes để fix Conflit rồi tiến hành push lên kênh fix.
 

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Task#123 bị confllig:
1. git checkout develop
2. Git pull
3. Git checkout Task#123
4. Git rebase develop (Vào source controll để fix conflict)
5. Git commit -m "da fix conflig"
6. Git rebase --continue
7. Git push ogirin Task#123 -f
 
Chỉnh sửa lần cuối:

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Cách mearge từ develop lên product:
1. git checkout develop
git pull
2. git checkout master
git pull
3. git checkout -b merge-manager-role
4. git merge develop
5. git push --set-upstream origin merge-manager-role
6. go https://gitlab.com/project create merges request from 'merge-manager-role' to 'master'
 
Chỉnh sửa lần cuối:

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Cách tạo nhánh mới từ commit bất kỳ:
1. Copy hash và pull commit trên git về:
Mã:
git checkout d6f52db93645955904f42421483b59e75240dbb7
git pull

2. Checkout develop rồi tạo nhánh mới với commit:
Mã:
git checkout develop
git checkout -b Task#1234-2 d6f52db93645955904f42421483b59e75240dbb7
 

administrator

Administrator
Nhân viên
9 Tháng tám 2021
87
0
6
Cách tạm thời dừng công việc hiện tại để làm việc khác:
1 Tạm thời lưu lại các phần công việc còn đang làm dở
Mã:
$ git stash -u
2 Chuyển sang một branch khác và làm việc
Mã:
$ git checkout -b other-branch
~làm việc, làm việc, làm việc~
$ git add <các file cần thiết> $ git commit -m "commit message"
3 Trở về branch cũ
Mã:
$ git checkout origin-branch
4 Lấy lại các nội dung công việc đang làm dở trước đó
Mã:
$ git stash pop