Lệnh cơ bản về github học được
Cập nhật mới từ remote về máy (lấy nhánh)
git fetch (origin)
Cập nhật các commit mới từ remote
git pull origin branch
Đẩy code lên remote
git push origin(remote) --all(branch)
Xem các remote
git remote
git remote -v
Xem branch
git branch
-a (nhánh ở local)
Create new branch
git branch name
Chuyển branch
git checkout name
git switch name
Xóa branch
git branch -d name
git push --delete origin beta : xóa trên remote
Chuyển về các trạng thái commit
git checkout (mã commit)
Quay tro ve ban dau khi moi pull ve
git checkout file
Xem sự thay đổi
git diff file
git push origin branch
pull request - merge
Một nhánh : làm một chức năng riêng. Xong nhánh thì trộn (merge) vô nhánh chính (master)
- Xung đột mã nguồn
Trộn mã master vào nhánh hiện tại
git merge master
Nếu không cài công cụ merge thì dùng
git mergetool
-> : diffg LO : lấy cái của master
diffg RE : lấy cái của khác
diffg BA : lấy 2 cái trộn chung luôn -> :wq
Đang ở nhánh master, gộp beta vào master (beta là nhánh cơ sở của master) (beta nằm trước master)
git rebase beta
Lưu tạm thay đổi hiện tại
Để làm chức năng khác mà không ảnh hưởng đến source
git stash
git stash list
git stash apply file
Trường hợp lưu vào (git add) muốn trở về
//git reset file
git rm --cached file
Xoá commit cuối (hard: xóa nội dung luôn)
git reset --soft HEAD~1
git reset --hard HEAD~1
git reset -- file(.) : trở về trạng thái unmodified (chưa add)
Đã add file rồi mà thay đổi file và muốn commit lên khỏi dùng lệnh add lại.
git commit -a -m "message"
Thay đổi file, commit lên mà không tạo commit mới (lấy cái cuối cùng commit)
git commit --amend -a
a : để insert message -> esc -> :wq để thoát khỏi
Xem lịch sử (trên một dòng, cấu trúc nhánh commit)
git log --oneline --graph branch
Tag (đánh dấu một điểm trong lịch sử commit)
Xem tag tồn tại
git tag
Tạo tag: git tag -a "V1.0" -m "Phien ban 1.0" 16d7b14
Show tag: git show V1.0
Xóa tag: git tag -d V1.0
Push all tag: git push origin --tags (V1.0)
Xóa tag trên remote: git push --delete origin V1.0
Tạo nhánh từ tag: git checkout -b alpha V1.0