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 filemkdir (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#
B1: cứ đăng nhập lại toàn bộ nick của github cho chắc rồi ktra nick
B2: tạo file .gitignore có thể tạo như sau:
echo. > .gitignoreB3: 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’
B4: dùng: git commit -m “commit….”
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