mvn-quangtran-dn / GIT-PHP

0 stars 0 forks source link

G1_Dang_Viet #5

Open ghost opened 6 years ago

ghost commented 6 years ago

GIT

git init

$ git init

Tạo 1 repository duới local của mình trong thư mục project 1-tao-reposive

git remote add

1. Đầu tiên tạo 1 project trên github 4-create-remote-repo 2. Copy đường dẫn ssh khi đã tạo 5-ssh 3. Dưới local chúng ta sẽ tạo remote repository đó

$ git remote add <name> <url>

Để thêm remote repository, sử dụng lệnh remote là tên đăng ký, là chỉ định URL của remote repository đã tạo ở trên 6-remote-add 4. Kiểm tra lại nhánh đã tạo

$ git remote

7-view-remote

git clone

1. Tìm một repository trên github và copy đường dẫn ssh 2-clone 2. Clone project về máy bằng lệnh với đường dẫn đã copy ở trên

$ git clone 

3-clone-project

Tạo nhánh mới

$ git checkout -b develop

Lệnh này vừa tạo mới nhánh develop và tự động chuyển sang nhánh này. 9-check-branch

Chuyển nhánh

$ git checkout master

10-switch-nhanh

Xóa nhánh

11-delete-nhanh

Git status

1. Đầu tiên tạo 1 file demo.html để xem sự thay đổi trong git 12-create-hello

$ git status

15-git-status

git add

Dùng để chuẩn bị cho commit

git-oneline

Git diff branch

Dùng kiểm tra sự khác nhau giữa các nhánh

$ git diff branch <name-branch>

31-diff-branch

Git diff

Dùng kiểm tra sự khác nhau giữa nhánh hiện tại so với lúc commit

$ git diff

32-git-dfif

Git checkout -- file

Dùng để phục hồi những File bị thay đổi khi bạn đã commit

$ git checkout -- <file>

checkout-file

Git reset

1. Git reset

Dùng để di chuyển HEAD về vị trí commit muốn reset, vẫn giữ nguyên tất cả các thay đổi của file đến vị trí hiện tại và loại bỏ các thay đổi khỏi stage . Có 2 cách sử dụng như sau:

$ git reset HEAD~<index>

index là vị trí thứ tự mà bạn muốn reset git-reset-head

$ git reset <commit-id>

Dựa vào id của các commit mà bạn muốn reset reset-commit_id

2. Git reset --hard

Dùng để di chuyển HEAD về vị trí commit reset và loại bỏ tất cả sự thay đổi của file sau thời điểm commit reset. Cũng có 2 lệnh tương tự [git reset] như sau:

$ git reset --hard HEAD~<index>

reset-hard1

$ git reset --hard <commit-id>

reset-har-id

3. Git reset --soft

Cũng di chuyển HEAD về vị trí commit reset, giữ nguyên tất cả các thay đổi của file đến vị trí hiện tại và đặc biệt giữ nguyên các thay đổi ở stage. Tương tự, có 2 cách dùng như sau:

$ git reset --soft HEAD~<index>

git-soft

$ git reset --soft <commit-id>

git-soft-id-commit

Git revert

Dùng để cho Workspace quay về 1 commit trong quá khứ, đồng thời tạo ra 1 commit để đánh dấu là đã quay về commit đã xác định

$ git revert <commit-id> or $ git revert HEAD~<index>

git-revert

Tạo conflict

1. Kiểm tra nội dung của file README.md trên nhánh master có nội dung như sau:

cat-git

2. Từ nhánh master ta checkout sang một nhánh mới để làm việc

chekcouadsfasdf

3. Bây h chúng ta thay đổi nội dung trong file README.md như hình dưới:

doc-fiel

4. Tiến hành commit và chuyển nhánh sang master:

adfafasdf

5. Thay đổi nội dung trong file README.md này như sau:

safsadf

6. Tiến hành commit:

aaaa

7. Tiến hành merge nhánh develop thì lúc này xảy ra lỗi conflict như sau:

bsfsdf

8. Vào file README.md và bắt đầu sửa conflict

adfadf

Tiến hành sửa conflict trong file như sau:

aaadfdfdsfa

9. Sau đó chúng ta add và commit lại để merge thành công !

asdf324

mvn-quangtran-dn commented 6 years ago