Git là gì
Mục lục
Git là một hệ thống quản lý phiên bản phân tán (Distributed Version Control System — DVCS), nó là một trong những hệ thống quản lý phiên bản phân tán phổ biến nhất hiện nay.
Git cung cấp cho mỗi lập trình viên kho lưu trữ (Repository) riêng chứa toàn bộ lịch sử thay đổi.
DVCS nghĩa là hệ thống giúp mỗi máy tính có thể lưu trữ nhiều phiên bản khác nhau của một mã nguồn được nhân bản (clone) từ một kho chứa mã nguồn (repository), mỗi thay đổi vào mã nguồn trên máy tính sẽ có thể ủy thác (commit) rồi đưa lên máy chủ nơi đặt kho chứa chính. à một máy tính khác (nếu họ có quyền truy cập) cũng có thể clone lại mã nguồn từ kho chứa hoặc clone lại một tập hợp các thay đổi mới nhất trên máy tính kia. trong Git thư mục làm việc trên máy tính gọi là Working Tree. Đại loại là như vậy.
-
Ngoài ra, có một cách hiểu khác về Git đơn giản hơn đó là nó sẽ giúp bạn lưu lại các phiên bản của những lần thay đổi vào mã nguồn và có thể dễ dàng khôi phục lại dễ dàng mà không cần copy lại mã nguồn rồi cất vào đâu đó. Họ cũng có thể đối chiếu các thay đổi của bạn rồi gộp phiên bản của bạn vào phiên bản của họ. Cuối cùng là tất cả Cuối cùng là tất cả có thể đưa các thay đổi vào mã nguồn của mình lên một kho chứa mã nguồn.
Tại sao nên sử dụng Git
-
Git dễ sử dụng, an toàn và nhanh chóng.
-
Có thể giúp quy trình làm việc code theo nhóm đơn giản hơn rất nhiều bằng việc kết hợp các phân nhánh (branch).
-
Bạn có thể làm việc ở bất cứ đâu vì chỉ cần clone mã nguồn từ kho chứa hoặc clone một phiên bản thay đổi nào đó từ kho chứa, hoặc một nhánh nào đó từ kho chứa.
-
Dễ dàng trong việc deployment sản phẩm.
-
Và nhiều hơn thế nữa.
Lệnh git clone
Thực hiện lệnh git clone để copy, sao chép về các repo từ server, từ dịch vụ lưu trữ git repo, hay từ máy này sang máy khác, thư mục này sang thư mục khác.
Các bạn tạo một folder trên máy local của các bạn trong môt ổ nào đó.
Ví dụ ở folder chính Document, và tên folder con là: RepoGame.
Các bạn mở Terminal và đi vào thư mục RepoGame theo dòng lệnh sau:
cd /Document/RepoGame
Các bạn gõ câu lệnh sau để sao chép project về máy:
git clone git@github.com:account/tên repo
Lệnh git push
Tạo ra remote repository
Nếu là lần đầu tiên đẩy Local Repo lên Remote Repo mới khởi tạo thì cần tạo ra một theo dõi kết nối:
git remote add <repository> <url>
Ví dụ:
Đẩy lên server
Sau khi có upstream, mỗi lần cần đẩy dữ liệu lên remote của nhánh master, chỉ việc thực hiện lệnh:
git push
Hoặc có thể đẩy một nhánh cụ thể, ví dụ đẩy nhánh master lên remote có tên origin:
git push origin master
Đẩy lên server tất cả các nhánh
Đẩy tất cả các nhánh ở local lên server có tên origin:
git push origin --all
Xóa một nhánh trên remote
Ví dụ bạn cần xóa nhánh beta, trên remote có tên origin:
git push origin --delete beta
Bạn có thể kiểm tra các nhánh có trên remote bằng lệnh:
git branch -a
Đẩy mới một branch lên remote
Nếu bạn đang khởi động cho dự án thì công việc đầu tiên là thêm remote repository, sau đó thực hiện đẩy branch tại local lên remote bằng lệnh sau.
git push --set-upstream [remote] [branch]
remote là tên của remote mà bạn đã đặt tại bước thêm remote.
branch là branch mà bạn muốn đẩy lên, thường thì ta sẽ chọn branch master.
git push --set-upstream freetuts master
Sau khi lệnh này thực hiện thành công thì mọi dữ liệu trên local của bạn sẽ được đẩy lên remote, và trên remote cũng sẽ tạo một branch giống tên branch mà bạn đã thiết lập.
Đẩy commit với lệnh git push
Sau khi thiết lập với lệnh git push –set-upstream thì trên remote đã có một branch và toàn bộ mã nguồn, vì vậy các thao tác tiếp theo bạn chỉ cần sử dụng lệnh push bình thường. Mỗi lần push nó sẻ hỏi mật khẩu, tuy nhiên bạn đừng lo lắng quá vì bài tiếp theo mình sẽ hướng dẫn cách lưu mật khẩu để nó bỏ qua bước này:
git push
Câu hỏi đặt ra là lệnh này sẽ đẩy lên branch nào? Đương nhiên là nó sẽ đẩy lên branch tương đồng với nhau, nghĩa là nếu ở local bạn đang ở branch master thì khi push lên nó sẽ áp cho branch master trên remote.
Giả sử bạn tạo mới một branch và checkout sang branch đó tại local, lúc này trên remote sẽ không tồn tại branch này, vậy làm sao để thực hiện thao tác push? Lúc này thay vì sử dụng lệnh push thì bạn sử dụng lệnh sau:
git push --set-upstream <remote> <branch_name>
Ví dụ: Tạo mới branch cuong và thực hiện đẩy nó lên remote repo.
git push --set-upstream freetuts thanh.
Git push discussion
git push được sử dụng phổ biến nhất để xuất bản các thay đổi cục bộ tải lên kho lưu trữ trung tâm. Sau khi một kho lưu trữ cục bộ đã được sửa đổi, một đợt đẩy được thực hiện để chia sẻ các sửa đổi với các thành viên trong nhóm từ xa.
Sơ đồ trên cho thấy điều gì sẽ xảy ra khi cái chính cục bộ của bạn đã vượt qua cái chính của kho lưu trữ trung tâm và bạn xuất bản các thay đổi bằng cách chạy cái gốc git push. Lưu ý cách git push về cơ bản giống như chạy git merge master từ bên trong kho lưu trữ từ xa.
Tổng kết
Thank for watching!
Leave a Reply