2.1.1. Git#

2.1.1.1. Git basic#

Các câu lệnh cơ bản của Git trong Git bash:

  • ‘cd ..’ : là câu lệnh quay trở lại file cha

  • ‘cd (file muốn tiến đến)’ : đi vào file con mà mình muốn của file cha

  • ‘cd (file cha)/(file con)’ : đi vào file con của file cha

  • ‘cd ../(tên file)’ : thoát file này và vào file mà mình muốn

  • clear : dọn dẹp các câu lệnh đã viết

  • mũi tên lên xuống trong git : dùng để quay lại các câu lệnh mà mình đã viết ở trc

2.1.1.2. Hiện thi tập tin, thêm , xóa và tạo thư mục trong máy#

  • dir or ls : với dir của hệ điều hành win or ls của hệ điều hành Ios
    với dir and ls : kiểm tra các tập tin trong file

  • mkdir (tên thư mục muốn tạo): tạo thêm 1 thư mục con của thư mục cha

  • touch ‘(tên file).đuôi’ : tạo 1 thư mục mất kì có thể là txt hoặc vv
    VD : touch ‘vd.txt’

  • echo “(muốn viết)” : dùng để in hoặc xuất 1 nội dung nào đó trên màn hình Git bash

  • echo “(muốn viết)” > ‘Tên file’ : dùng để viết 1 nội dung đè trên file mà mình muốn

  • echo “(muốn viết)” >> ‘Tên file’ : dùng để viết tiếp 1 nội dung trên file mà mình muốn

  • cat ‘(tên file)’ : hiển thị nội dung bên trong file

  • diff (file 1) (file 2) : dùng để so sánh cái khác của 2 file

  • rm (file tên) : xóa file

  • rm -d (tên thư mục) : xóa thư mục rỗng

  • rm -r (tên thư mục) : xóa thư mục không rỗng

2.1.1.3. Tạo Repository mới trong Git#

  • reposity (repo) : kho lưu trữ

  • commit : một đơn vị làm việc

  • branch : nhánh

  • main/master : tên của repo chính( main repo)

  • merge/ rebase: kết hợp 2 nhánh

  • develop: tên của nhánh, lập trình viên

  • git –help: trợ giúp, hưỡng dẫn

  • git –version: hiển thị phương bản git

  • git status: hiển thị trang thái kho lưu trữ

  • git log: hiển thị lịch sử các commit

Các câu lệnh giúp câu hình ra 1 dự án git mới:

  • git init [repo name]: tạo ra 1 kho lưu trữ mới.

  • git clone [repo name][clone name]: để tạo một bản sao được liên kết với repo.

  • git config -l: xem cấu hình hiện tại của repo.

  • git config -l [–scope][option_name][value]: xem cấu hình của …. - …..

    • scope:
      –system -> ảnh hưởng đến tất cả người dùng
      –global -> liên quan đến repo của ng dùng
      –local -> liên quan đến 1 repo
      vd : git config -l –global user.name “tên”
      vd : git config -l –global user.email tên

  • git add [file name(s)] : thêm tập vào inđex

  • git add. : thêm tệp ( tất cả)

  • git commot _m “nội dung” : tạo commit -> repo

  • git status : sự khác biệt giữa 3 cây

  • git diff : so sánh với commit cuối cùng

  • git log : xem lịch sử

2.1.1.4. Git ignore#

Cấu hình ignore để bỏ qua các file không cần giám sát
là câu lệnh để bỏ qua các file k cần giám sát ở git

echo “tên file” >>.gitignore : làm gì thì làm nhưng nó sẽ k quna tâm đến file mà mình ignore

2.1.1.4.1. Git ignore on visual studio code#

  1. B1: cứ đăng nhập lại toàn bộ nick của github cho chắc rồi ktra nick

  2. B2: tạo file .gitignore có thể tạo như sau:
    echo. > .gitignore

  3. B3: cho dữ liệu k muốn vào gitignore dùng :
    echo “tên.đuôi” >> .gitignore

  • hoặc xóa luôn file như sau:
    git rm –cached ‘tên.đuôi’

  1. B4: dùng: git commit -m “commit….”

  2. B5: git push hoặc git push –set-upstream origin master

2.1.1.5. Git remote repository#

Làm việc với kho lưu trữ trung tâm ‘central repository’
Cách tương tác với remote repository
Cái này chính là những thứ thao tác ở trên github

  • git init –bare : tạo 1 central repo

  • git clone [repo_name][clone_name] : sao chép và liên kết repo_name mới

  • git fetch : lấy các thông tin về commit mới từ central

  • git pull : lấy dữ liệu từ central(chính) về local repo

  • git push : đẩy các commit từ local về central(chính)

2.1.1.6. Merge conflict#

Xử lý xung đột trong git (merge conflict)
conflict : xung đột

Đây là khi 2 ng cùng làm và cùng pull 1 dữ liệu về và chỉnh sửa rồi đẩy lên lại central chính thì mỗi ng sửa đều khác nhau nên nó sẽ xảy ra lỗi vì vậy cần fixx lại, nên xem lại ở bài 9 git cơ bản

Cụ thể đây là bước làm bằng commit:
B1: git pull
B2: vào lại fie đó bằng ứng dụng gì đó rồi xóa những lỗi rồi save
B3: git add .
B4: git commit -m “xử lý xung đột ở file k.txt”

2.1.1.7. Git checkout#

Chuyển đổi giữa các commit trong git
Để dùng đc git checkout thì ta cần phải đã sửa file và làm file rồi ta dùng git log sẽ hiện mã của commi sau chữ commit rồi nhập tầm 6 đến hơn các ký tự đó sau git checkout

git checkout (mã) : dùng để quay trở lại thời điểm mà file đó được tạo ra, chính là quay lại đc commit mà mình muốn

2.1.1.8. Git Branchs#

Làm việc với nhiều nhánh trong git

  • git branch (branch_name): tạo nhánh mới để làm trong 1 project

  • git checkout (branch_name): chuyển sang nhánh mong muốn trong project

  • git branch -l: xem nhánh hiện tại đg làm việc

Có thể khi k push từ nhánh lên repo thì ng ta có gợi ý câu lệnh:

  • git push –set-upstream origin (branch_name)

  • git push -u origin (branch_name)

Thay đổi tên nhánh master thành main
Ta dùng:

  • git branch -M main

2.1.1.8.1. Git branch merge#

Kết hợp các nhánh lại với nhau

Đang ở nhánh A muốn kết hợp với nhánh khác thì ra dùng

  • git merge (branch_name)

2.1.1.8.2. Git rebase#

Tái cơ sở cho một nhánh trong git

  • git rebase (branch_name): tái cơ sở cho nhánh bạn chọn

  • git rebase –continue: tiếp tục áp dụng những thay đổi vào câu lệnh git rebase

  • git rebase –skip: bỏ qua những thay đổi

2.1.1.8.3. Git branch delete#

  • Xóa nhánh trong git

    • git branch -d (branch_name): dùng khi mà bạn muốn gọn hơn, đó là khi t có nhiều nhánh và sau khi merge với nhau rồi thì nhánh phụ vẫn còn tồn tại ở đó, nếu muốn đẹp hơn thì t chỉ cần xóa nhánh phụ.

  • Và xóa hoàn toàn thì ta dùng

    • git push origin -d (branch_name): khi ta xóa ở kai thì nó vẫn còn tồn tại nên ta cần xóa 1 lần nữa để nó mất hẳn đi, vì khi git branch -a nó sẽ cho ta thấy nhánh xóa nó sẽ hiện lên.

2.1.1.9. Git reset#

  • git reset –soft (commit id) : dùng để chuyển head về vị trí commit. Trạng thái của stage và tất cả sự thay đổi của file đc giữ nguyên.

  • git reset (commit id) : Di chuyển head về vị trí commit reset, vẫn giữ tất cả thay đổi của file nhưng loại bỏ các thay đổi của stage.

  • git reset –hard (commit id) : di chuyển con trỏ head về vị trí commit reset và loại bỏ tất cả sự thay đổi của file, stage.

    • commit id: là mã của các commit gầm chữ và số hoặc bla bla

2.1.1.10. Git revert#

Quay lại các commit trước đây câu lệnh là:

  • git revert

2.1.1.11. GitHub#

2.1.1.11.1. Github in my computer#

Connect from code on computer to web GitHub
Khi tạo 1 repository mới trên web github của bạn thì ta copy link của repository đó rồi vào git bash rồi nhập câu lệnh:

  • git remote add origin (paste link)

2.1.1.11.2. Save other project#

  • B1: truy cập link của dự án

  • B2: click chuột vào fork của dự án đó ở phía bên trên gần góc phải màn hình

  • B3: click create fork

  • B4: về trang chủ để xem đã lưu đc về chưa

Muốn cập nhật thông tin mới của project của ng khác thì ở git bash cần dùng :

  • B1: git remote add (name1) (paste link của project gốc)

  • B2: git remote -v : để xem xem kết nối đc chưa

  • B3: git fetch (name1) : để ktra xem kết nối đc chưa

  • B4: git merge (name1)/(main_branch) :sẽ ra bảng của git bash , ta chỉ cần ấn phím ‘esc’ rồi “:q” để thoát ra

2.1.1.11.3. Update project of company when create new file in my computer#

  • B1: vào pull request của dự án ở nick mình

  • B2: vào new pull request

  • B3: chọn base repository của dự án mình muốn, và chọn head repository của dự án của mình và chọn nhánh theo ý mình

  • B4: click create pull request

2.1.1.12. GitHub Desktop#

Muốn tải 1 project về app GitHub Desktop thì ta copy link của project về xong r vào app rồi chọn file rồi chọn clone reponsitory rồi paste link rồi clone là xong

2.1.1.13. Use Git and GitHub in visual studio code#

Up load file khi mới tạo repo và muốn up file lên GitHub

CÁCH 1:

  • B0: mở file muốn tải lên GitHub sẵn

  • B1: sign in account on terminal on visual studio code

    • git config –global user.name “tên nick github”

    • git config –global user.email tên email

  • B2: git remote add origin “link github tự tạo và muốn đẩy file lên đó” +git remote -v : kiểm tra xem đúng nick github chưa

  • B3: git add .

  • B4: git commit -m “tự cmt”

  • B5: git branch -v : kiểm tra đg ở nhánh gì rồi mới push (muốn đổi “nhánh”/”tên nhánh” thì ở phần trên có)

    • git push origin “tên nhánh mà mình kiểm tra”

  • B6: tự làm tiếp

CÁCH 2:

  • B0: mở file muốn tải lên GitHub sẵn

  • B1: git init

  • B2: git add .

  • B3: git commit -m “(Muốn ghi gì thì ghi sao cho mình và ng khác đều hiểu)”

  • B4: git remote add (tên repo cx đc) (link repo)

  • B5:git push (tên repo cx đc) master

CÁCH 3: (Đây là cách bth mọi người hay dùng mà tôi thấy hiệu quả nhất)

  • B0: mở file muốn tải lên GitHub sẵn trên visual studio code rồi mở “new terminal” (sử dụng power shell)

  • B1: git init

  • B2: git add .

  • B3: git commit -m “(viết commit)”

  • B4: git remote add origin (paste link repo tạo trên github)

  • B5: git branch -M main

  • B6: git push -u origin main

Up load lại file lên GitHub khi mới sửa file

CÁCH 1:(đây là cách up lại khi sửa nhiều file cùng lúc)

  • B0: Mở new terminal

  • B1: Git add .

  • B2: Git commit -m “(viết commit)”

  • B3: Git push

CÁCH 2:(đây là cách up lại khi sửa 1 file)

  • B0: Mở new terminal

  • B1: Git add “(tên file)”

  • B2: Git commit -m “(viết commit)”

  • B3: Git push