mvn-quangtran-dn / GIT-PHP

0 stars 0 forks source link

G1_TRAN_NHAT_LONG #15

Open mvn-longtran-dn opened 6 years ago

mvn-longtran-dn commented 6 years ago

Bài tập GIT buổi 1

Git list command 1: init, clone, add remote, branch

Init

Khởi tạo git ở local. git init image

Clone

Tạo bản sao git trên remote về local theo url git clone <url> image

Remote add

Thêm một tham chiếu từ xa đến local git remote add <alias_name_for_remote> <url> image

Show branch

Xem các nhánh đang có trên local, tham số -a cho phép xem các nhánh đang có trên alias_remote git branch image

Git list command 2: Create branch, delete branch, Create & checkout branch, Add file, Commit

create branch

Tạo 1 nhánh git branch <new_branch_name> image

delete branch

Xóa 1 nhánh git branch -d <branch_name> image

Create & checkout branch

Tạo 1 nhánh và chuyển qua nhánh vừa tạo git checkout -b name-branch image

add file to stage

Stage 1 file trước khi commit `git add image

commit

Lưu lại các chỉnh sửa vào local repo với 1 message git commit -m "message" image

Git list command 3: commit --amend, git log, git diff (git diff file, git diff 2 branch), lệnh checkout 1 file

commit --amend

Chỉnh sửa lại commit gần nhất (override) git commit --amend image

log

Xem lịch sử các commit git log image

diff

Xem sự khác nhau giữa đoạn code hiện tại (working tree) với commit gần nhất (HEAD) git diff HEAD <file_name> image Xem sự khác nhau giữa 2 branch git diff <branch_name1> gif diff <branch_name2> image

Checkout 1 file

Reset file về commit gần nhất đối với working tree. `git checkout -- image

Git list command 4: reset, git revert, git log --oneline

reset

Back local repo về 1 commit cũ (index & working tree) git reset --hard HEAD~<numbers_of_commit> image Undo commit git reset --soft HEAD~<numbers_of_commit> image Back local repo về 1 commit cũ (index) git reset HEAD~<numbers_of_commit> ~ git reset --mixed HEAD~<numbers_of_commit> image

revert

Back local repo về 1 commit cũ (SHA_commit) và tạo ra 1 commit mới git revert <SHA_commit> image

log --oneline

Xem lịch sử commit với mỗi commit được show trong 1 dòng git log --oneline image

Git list command 5: git fetch, git pull, git push

git push

Đẩy dữ liệu từ local lên remote theo tên nhánh git push <remote_repo_alias> <branch_name> image

git fetch

Tiến hành lấy lịch sử mới nhất từ remote về và đồng bộ với ref_remote trên local git fetch image

git pull

Đồng bộ dữ liệu từ remote về local với 1 nhánh xác định git pull <remote_alias> <branch_name> image

Git list command 6: conflict và resolve conflict

Making conflict

Tạo nội dung trong cùng file abc.html nhưng ở 2 nhánh với phần cuối thì nội dung khác nhau image image Sau đó push cả 2 branch tử local lên remote và thực hiên pull_request từ develop đến master, sẽ xuất hiện conflict image

Resolve conflict

Kéo nội dung từ master trên remote về nhánh develop image và tiến hành resolve conflict Ở đây, nội dung từ <<<HEAD đến ==== chỉ ra content hiện tại ở nhánh đang đứng, và sau === đến <<<sha_commit chỉ ra content vừa được bổ sung vào, có thể giữ lại 1 phần hoặc giữ lại cả 2 phần. image sau khi fix thì commit & push lên lại remote image Done! image

Git list command 7: Git stash

Git stash được sử dụng khi muốn lưu lại các thay đổi chưa commit, thường rất hữu dụng khi muốn đổi sang 1 branch khác mà lại đang làm dở ở branch hiện tại.

git stash save

Dòng 5 vừa được thêm vào image git stash apply Lưu toàn bộ nội dung công việc đang làm dở image Workspace trở về trạng thái sau lần commit cuối cùng, (dòng 5 không còn xuất hiện) image

git stash list

Xem lại danh sách các lần lưu thay đổi git stash list image

git stash apply

lấy lại thay đổi đã lưu stack git stash apply stash@{number_of_stack} image

Các câu lệnh khác

git stash pop stash@{number_of_stack} xoá nội dung thay đổi lưu trong stack git stash clear xoá toàn bộ stack

mvn-quangtran-dn commented 6 years ago