Trang Chủ

Cơ bản về git

Mục lục

Nội dung

Thế nào là repository, branch?

Repository (kho chứa) được hiểu đơn giản là nơi chứa tất cả những thông tin cần thiết để duy trì và quản lý các sửa đổi và lịch sử của toàn bộ project.

Tất cả dữ liệu của Repository đều được chứa trong thư mục bạn đang làm việc dưới dạng folder ẩn có tên là .git

Repository của Git được phân thành 2 loại là remote repositorylocal repository.

Branch là nhánh của repository:

Các loại branch:

Xoá một branch

Xoá một branch ở phía local

Xoá một branch remote lưu ở local

git branch –delete –remotes <remote_name>/<branch_name>

hoặc

git branch -d -r <remote_name>/<branch_name>

Chú ý:

Xoá một branch ở phía remote

git push <remote_name> –delete <branch_name>

VD:

git push origin –delete <branch_name>

Push một branch ở local lên remote

2 branch cùng tên

git push <remote_name> <branch_name>

VD: push branch master lên branch master trên remote

git push origin master

2 branch khác tên

git push <remote_name> <local_branch>:<remote_branch>

VD: push branch master lên remote với tên là develop

git push origin master:develop

Rebase

Thế nào là Rebase?

Rebase là một cách tích hợp các thay đổi từ nhánh này vào nhánh khác.

Ngoài ra Rebase còn có tác dụng gộp các commit thành 1. (sẽ trình bày ở bên dưới)

So sánh Rebase với merge

Thế nào là git stash

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

Lưu toàn bộ nội dung công việc đang làm dở, sử dụng lệnh: git stash save hoặc git stash

Một số lệnh với stash

Xoá bỏ trạng thái của một vài commit

Cách 1: dùng git reset hard

git reset –hard <commit_id>

Hoặc

git reset –hard HEAD~<index>

VD:

git reset –hard HEAD~2

git reset –hard 2e07fbe

Lệnh này sẽ xóa bỏ toàn bộ các commit trước đó đưa branch về trạng thái của commit có Id được chỉ định.

Cách 2: dùng git revert

git revert <commit_id>

hoặc

git revert HEAD~<index>

VD:

git revert HEAD~1

git revert 2e07fbe

Lệnh này sẽ tạo 1 commit mới với nội dung đảo ngược lại một commit cũ.

Kết quả sau khi commit mới được tạo thì branch sẽ loại bỏ thay đổi của commit cũ.

Các commit mới hơn commit cũ vẫn được giữ nguyên.

Nói đơn giản là chỉ commit được chỉ định sẽ bị xóa bỏ.

Gộp một vài commit thành 1 commit duy nhất

Để gộp một nhóm commit thành 1 commit duy nhất ta dùng lệnh:

git rebase –interactive <commit_end>

hoặc

git rebase -i <commit_end>

<commit_end> là id của commit cuối trong nhóm cần gộp.

Trong text editor, pick|squash|fixup các commit cần gộp lại sau đó save file và thoát.

Phân biệt git reset, git reset –hard, git reset –soft

git reset

Câu lệnh:

git reset HEAD~<index>

hoặc

git reset <commit_id>

Chức năng:

git reset –hard

Câu lệnh:

git reset –hard HEAD~<index>

hoặc

git reset –hard <commit_id>

Chức năng:

git reset –soft

Câu lệnh:

git reset –soft HEAD~<index>

hoặc

git reset –soft <commit_id>

Chức năng:

Lệnh này chỉ di chuyển HEAD về vị trí commit. Trạng thái của stage và tất cả sự thay đổi của file sẽ được giữ nguyên.

Kết luận

Trên đây là một số những điều cần ghi nhớ khi sử dụng GIT. Hi vọng sẽ giúp ích được cho mọi người.

ITZone via Viblo

Chia sẻ bài viết ngay