Khởi tạo Git ở local. Khi khởi tạo xong sẽ có branch master. Có 1 thư mục ẩn .Git chứa các thông tin.
$git init
Git clone
Tạo một bản sao repo về máy local
git clone <url>
Add remote
Xác định remote cho local
git remote add <shortname> <url>
List Branch
Xem danh sách các branch hiện có
git branch
Create branch
Tạo một nhánh mới
git checkout -b <tên branch>
Chuyển sang branch khác
Chuyển sang một nhánh khác
git checkout <tên branch>
Xóa một branch
git branch -D <tên branch>
Xem tình trạng các file
git status
Thêm file vào vùng tracked
git add <tên file>
Nếu muốn add tất cả file sử dụng
git add .
Git amend
Chỉnh sửa commit.
Add thêm file hay thư mục rội gộp vào commit trước đó.
git commit --amend
Git log
Xem lịch sử commit
git log
Git diff
Xem sự khác biệt giữa 1 file trước chỉnh sửa và sau chỉnh sửa.
git diff <tên file>
Xem sự khác biệt giữa hai branch
git diff <tên nhánh 1> <tên nhánh 2>
Checkout 1 file
Quay lại file khi chưa chỉnh sửa.
git checkout -- <tên file
Git Reset
Quay lại và xóa các commit trước.
git reset --hard [id]
Git Revert
Tạo ra bản sao của 1 commit trước đó
git revert [id]
Commit và xem lại Log
Git log --oneline
Xem lại lịch sử commit 1 cách ngắn gọn.
git log --oneline
Git fetch
Tải về dữ liệu của tất cả các branch của repository trên remote server nằm tại địa chỉ quy định bởi $remote_origin và cập nhật dữ liệu này với dữ liệu của cách branch phía dưới máy local.
git fetch origin
Git full
Tải dữ liệu của Git repository tại nhánh branch_name từ server nằm tại địa chỉ quy định bởi remote_origin và áp dụng (merge) các thay đổi này vào thư mục và tập tin ở working copy.
git full <remote> <branch_name>
Git Push
Đẩy cập nhật ở branch local lên branch của remote
git push
Tạo conflick
Đầu tiên ta tạo 1 file (conflick.txt) ở nhánh master rồi thực hiện việc commit trên nhánh master
.
Checkout ra một nhánh "conflick_branch" để sửa file trên và thực hiện commit trên nhánh này rồi quay lại nhánh master.
Từ nhánh master ta thực hiện việc sửa đổi file conflick.txt rồi thực hiện commit.
Tiến hành merge hai nhánh này sẽ tạo ra conflick.
Giải quyết conflick
Mở file conflick.txt.
Git đã gom hết nội dung của hai branch lại và chỉ rõ cho ta là bị conflict ở dòng nào, dòng nào thuộc branch nào. Ở trên HEAD tức là cái commit cuối cùng của branch mà mình đang đứng (master).
Công việc của mình bây giờ là chỉnh sửa file này lại theo ý mình muốn.
BÀI TẬP GIT 1
Git Init
Khởi tạo Git ở local. Khi khởi tạo xong sẽ có branch master. Có 1 thư mục ẩn .Git chứa các thông tin.
$git init
Git clone
Tạo một bản sao repo về máy local
git clone <url>
Add remote
Xác định remote cho local
git remote add <shortname> <url>
List Branch
Xem danh sách các branch hiện có
git branch
Create branch
Tạo một nhánh mới
git checkout -b <tên branch>
Chuyển sang branch khác
Chuyển sang một nhánh khác
git checkout <tên branch>
Xóa một branch
git branch -D <tên
branch>
Xem tình trạng các file
git status
Thêm file vào vùng tracked
git add <tên file>
Nếu muốn add tất cả file sử dụnggit add .
Git amend
git commit --amend
Git log
Xem lịch sử commit
git log
Git diff
Xem sự khác biệt giữa 1 file trước chỉnh sửa và sau chỉnh sửa.
git diff <tên file>
Xem sự khác biệt giữa hai branch
git diff <tên nhánh 1> <tên nhánh 2>
Checkout 1 file
Quay lại file khi chưa chỉnh sửa.
git checkout -- <tên file
Git Reset
Quay lại và xóa các commit trước.![image](https://user-images.githubusercontent.com/40256564/41634239-fe283a6a-746c-11e8-867e-b99965c580c1.png)
git reset --hard [id]
Git Revert
Tạo ra bản sao của 1 commit trước đó![image](https://user-images.githubusercontent.com/40256564/41634431-ef46c254-746d-11e8-973f-ccc39286d5a3.png)
git revert [id]
Commit và xem lại Log![image](https://user-images.githubusercontent.com/40256564/41634593-a5842746-746e-11e8-95c5-75f4c659f40a.png)
Git log --oneline
Xem lại lịch sử commit 1 cách ngắn gọn.
git log --oneline
Git fetch
Tải về dữ liệu của tất cả các branch của repository trên remote server nằm tại địa chỉ quy định bởi $remote_origin và cập nhật dữ liệu này với dữ liệu của cách branch phía dưới máy local.![image](https://user-images.githubusercontent.com/40256564/41642101-92250e5e-7491-11e8-8a49-cb6c43d56048.png)
git fetch origin
Git full
Tải dữ liệu của Git repository tại nhánh
branch_name
từ server nằm tại địa chỉ quy định bởiremote_origin
và áp dụng (merge) các thay đổi này vào thư mục và tập tin ở working copy.git full <remote> <branch_name>
Git Push
Đẩy cập nhật ở branch local lên branch của remote git push
Tạo conflick
Đầu tiên ta tạo 1 file (conflick.txt) ở nhánh master rồi thực hiện việc commit trên nhánh master
.
Checkout ra một nhánh "conflick_branch" để sửa file trên và thực hiện commit trên nhánh này rồi quay lại nhánh master.
![image](https://user-images.githubusercontent.com/40256564/41643773-61aba3be-7496-11e8-823a-7f2e4df9d9dc.png)
Từ nhánh master ta thực hiện việc sửa đổi file conflick.txt rồi thực hiện commit.![image](https://user-images.githubusercontent.com/40256564/41644073-49d8169a-7497-11e8-99ae-32d550b62361.png)
Tiến hành merge hai nhánh này sẽ tạo ra conflick.
Giải quyết conflick
Mở file conflick.txt. Git đã gom hết nội dung của hai branch lại và chỉ rõ cho ta là bị conflict ở dòng nào, dòng nào thuộc branch nào. Ở trên HEAD tức là cái commit cuối cùng của branch mà mình đang đứng (master). Công việc của mình bây giờ là chỉnh sửa file này lại theo ý mình muốn.
Rồi thực hiện commit như bình thường.