Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Git Push: Đẩy code lên kho từ xa

Lệnh git push tải phiên bản local của kho lên kho từ xa. Push là cơ chế upload thay đổi lên kho từ xa. Sau khi push, mọi cộng tác viên dự án có thể tải xuống.

Push code lên kho từ xa là giai đoạn cuối "lưu" thay đổi vào kho Git.

Quá trình push chuyển code từ local repo (máy bạn) → remote repo liên kết. Cho phép lưu thay đổi codebase vào kho chính dự án.

Hướng dẫn này trình bày cơ bản push code và cách dùng git push, kèm ví dụ. Sau khi đọc, bạn sẽ push code như chuyên gia.

Push Code

Trong Git, "save" thay đổi không đơn giản như save file. Save file trong kho Git → thay đổi lưu trên máy. Nhưng thay đổi không được Git track. Cần báo Git track thay đổi.

Để track: dùng git add đưa code vào staging area. Sau đó git commit lưu thay đổi vào commit.

Sau commit, bản ghi thay đổi được track. Cần push sau commit nếu muốn commit hiện lên remote repo.

Push cho phép gửi commit từ local repo → remote repo. Ví dụ: team project, tạo commit local, khi sẵn sàng mọi người thấy code, push lên remote repo.

Cách dùng lệnh git push

Lệnh git push upload thay đổi local repo → remote repo. Thay đổi upload accessible cho mọi collaborator xem/tải.

Trong một nghĩa, git push ngược với git fetch. git fetch lấy thay đổi remote repo, áp dụng vào local copy.

Cú pháp:

git push <tên-remote> <tên-nhánh>

<tên-remote>: repo đích push. Đã cấu hình repo → origin. Muốn commit repo khác → chỉ định qua tham số này.

<tên-nhánh>: nhánh remote muốn push thay đổi.

Ví dụ: push thay đổi local → nhánh master remote:

git push origin master

Kết quả:

Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 363 bytes | 363.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/jamesgallagher432/demo-repository.git
3b16026..b53b22d master -> master

Ví dụ remote repo trên GitHub. Thay đổi local push lên GitHub remote repo liên kết.

Giờ code local = code remote. Team member thấy thay đổi.

Muốn push nhánh v1.9 thay vì master → chỉ định nhánh v1.9.

Git Push Force

Khi dùng git push, có lúc muốn force push thay đổi lên remote.

Git ngăn push khi conflict lịch sử remote và local. Remote có 10 commit không phản ánh local → không push được.

Cờ --force cho phép "force push". Cờ xóa thay đổi xảy ra kể từ lần cuối pull.

Chỉ dùng --force khi nhận ra lỗi push đã fix. Tránh dùng lệnh này tránh thay đổi không mong muốn.

Cú pháp:

git push <tên-remote> <tên-nhánh> --force

Lệnh force push code. Bỏ qua lỗi có thể xảy ra.

Ví dụ Git Push Origin Master

Scenario phổ biến dùng Git push.

Giả sử vừa sửa local code muốn push lên remote. Đã tạo commit bằng git commit chứa thay đổi. Các bước push:

1. Checkout nhánh master, đảm bảo up-to-date:

git checkout master
git fetch origin master

git checkout chuyển nhánh master. git fetch lấy phiên bản mới nhất remote.

2. Tạo commit thay đổi master branch:

git add README.md
git commit -m "feat: Make changes to README"

Add README.md vào staging. Tạo commit message "feat: Make changes to README". Commit lưu trên local branch.

3. Push code:

git push origin master

Code local push lên remote. Vì đã check up-to-date trước push, không nên có lỗi.

Kết luận

Lệnh git push "push" thay đổi từ local Git repo → remote repo. Mọi người làm codebase thấy đóng góp sau khi push.

Hướng dẫn trình bày cơ bản push code và cách dùng git push. Bạn đã sẵn sàng push code lên remote Git repo như Git master!