Hướng dẫn sử dụng Git command

Cài đặt

Để sử dụng Git đương nhiên chúng ta sẽ phải cài đặt Git lên máy tính cá nhân của chúng ta để thao tác. Bản chất của việc cài đặt Git là chúng ta sẽ có một Server Git Local để thao tác.

Tải GIT về cho OSX

Tải GIT về cho Windows

Tải GIT về cho Linux

Tạo Repo mới trên Local

Để tạo 1 repo mới bạn hãy tạo 1 folder. Di chuyển đến Folder này và gõ dòng lệnh:

Mô hình hoạt động cơ bản trên Git Local

Thường khi làm việc với thư mục Repo Local của bạn, có 3 trees được duy trì bởi Git (Toàn bộ được lưu trữ trong thư mục .git trên Folder của bạn).

  • Thư mục đang làm việc (Working Directory) có chứa folder .git và các tập tin hiện tại
  • Chỉ mục (Index) đóng vai trò Staging area
  • HEAD trỏ đến commit gần nhất của bạn

Hướng dẫn sử dụng Git command

Sao chép (clone) một Repository

Để clone một repository có sẵn chúng ta sử dụng câu lệnh:

git clone /đường-dẫn-đến/repository 

Lưu ý Repository này có thể là Repo Local hoặc Repo ở máy chủ khác (GitLab, GitHub, Bitbucket)

git clone username@server:/đường-dẫn-đến/repository

Thêm (add) && commit

Sau khi làm việc chỉnh sửa với các tập tin. Chúng ta có thể đề xuất thay đổi (Thêm vào chỉ mục Index) bằng cách:

Vậy là bạn đã xong Git cơ bản rồi đấy. Để thực sự commit những gì đã thay đổi chúng ta sử dụng câu lệnh sau:

git commit -m "Ghichú-cho-Commit"

Bây giờ thì những thay đổi đã được trỏ đến HEAD trên Git Local của bạn.

Đẩy (push) các thay đổi

List các thay đổi trong Working Directory của bạn nằm tại HEAD và nằm trên chính máy Local hay từ đầu bài đến giờ mình hay gọi là Git Local. Để gửi những thay đổi đó đến repository remote chúng ta thực hiện như sau:

master ở đây là nhánh làm việc của git, chúng ta có thể thay đổi bằng bất cứ nhánh nào “Đương nhiên sẽ cần có quyền” chúng ta sẽ nói rõ hơn ở các phần sau

Nếu repo của bạn là 1 repo mới hoàn toàn được create bằng git init và bạn muốn kết nối nó đến một máy chủ remote (Git Server) nào đó bạn phải thêm

git remote add origin 

sau đó bạn có thể đẩy các thay đổi vào máy chủ đã chọn

Nhánh (branches)

Ở phía trên chúng ta có sử dụng câu lệnh git push origin master để đẩy toàn bộ thay đổi của mình lên nhánh master. Chúng ta sẽ tìm hiểu kỹ nhánh là gì.

Trong quá trình phát triển một sản phẩm, luôn có một nhánh chính gọi là nhánh master(nhánh gốc) được tạo ra mặc định khi tạo mới repo. Các nhánh con được dùng để phát triển tính năng riêng biệt.

VD: Ở đây chúng ta có 1 sản phẩm là Portal có một nhánh là canhdx_vol được tạo ra để phát triển module volume của sản phẩm. Đến 1 giai đoạn nào đó sẽ merge lại vào nhánh master sau khi hoàn tất

Hướng dẫn sử dụng Git command

Các bước thực hiện như sau:

  • Tạo một nhánh mới với tên canhdx_vol và chuyển qua nhánh đó (từ nhánh master)

    git checkout -b canhdx_vol
    

  • Trở lại nhánh master
  • Xóa nhánh
  • Để các nhánh khác có thể thấy được và sử dụng lại nhánh đã có cần đẩy lên remote repo

Cập nhật (update) và Trộn (merge)

Để cập nhật toàn bộ thay đổi mới nhất từ Remote về repo local của bạn cần sử dụng câu lệnh

câu lệnh trên được sử dụng để lấy vể(fetch)trộn(merge) các thay đổi ở Remote.

Để merge một nhánh vào nhánh đang hoạt động sử dụng

Cả 2 trường hợp trên sẽ được tự động thực hiện. Nếu có xung đột xảy ra (2 nhánh cùng sửa đổi 1 file…) chúng ta sẽ phải thao tác thủ công chỉnh sửa file được hiển thị sau đó đánh dấu lại đã merge với lệnh

Trước khi merge chúng ta cũng có thể kiểm tra các thay đổi giữa các nhánh bằng câu lênh

git diff   

Gắn nhãn (Tagging)

Sử dụng lại khái niệm từng có trên SVN, việc gắn nhãn khi phát triển phần mềm là điều khá quan trọng hay còn được biết đến với cái tên dễ hình dung hơn đó là version.

Câu lệnh phía trên sẽ tạo tag mới 0.0.1 với chuỗi 6f1b2e3f1d là 10 ký tự đầu tiên của commit mà chúng ta muốn tham chiếu đến. Mã này có thể ít hơn nhưng cần phải là duy nhất.

Để show mã này thì sử dụng

Thay thế các thay đổi trên Repo local

Quá trình chỉnh sửa file có thể yêu cầu revert lại thông tin của file sau khi chỉnh sửa về commit gần nhất, hay nội dung HEAD mới nhất

git checkout -- 

Trong trường hợp chúng ta muốn reset hoàn toàn repo local của mình, fetch về bản gần nhất trên remote repo và trỏ vào nhánh master

git fetch origin
git reset --hard origin/master

Tài nguyên tham khảo

https://book.git-scm.com/

https://help.github.com/


Thực hiện bởi cloud365.vn