Một số câu lệnh Git phổ biến

Nguyễn Thanh Hiệp
4 min readAug 15, 2019

--

Git là gì ?

Theo wiki: Git là phần mềm quản lý mã nguồn phân tán được phát triển bởi Linus Torvalds vào năm 2005, ban đầu dành cho việc phát triển nhân Linux. Hiện nay, Git trở thành một trong các phần mềm quản lý mã nguồn phổ biến nhất.

Github là gì ?

GitHub là một dịch vụ cung cấp kho lưu trữ mã nguồn Git dựa trên nền web cho các dự án phát triển phần mềm. GitHub cung cấp cả phiên bản trả tiền lẫn miễn phí cho các tài khoản. Các dự án mã nguồn mở sẽ được cung cấp kho lưu trữ miễn phí.

Đưa source code lên github

Để khởi tạo git repo trong thư mục project ta dùng lệnh:

git init

Kiểm tra trạng thái git:

git status

Tiến hành add các file vào branch :

git add *

Lệnh để commit:

git commit -m “nội dung message commit”

commit đè lên commit trước:

git commit -amend

clone 1 project về máy:

git clone [url]

xem danh sách các commit:

git log -p < số danh sách commit muốn hiển thị >

Các trạng thái file trong git:

Untracked: file chưa được add vào git

Staged: file đã được add vào git

Unmodified: file đã được commit

Modified: file đã được chỉnh sửa sau khi commit

Commit là thao tác báo cho hệ thống biết bạn muốn lưu lại trạng thái hiện hành, ghi nhận lại lịch sử các xử lý như đã thêm, xóa, cập nhật các file hay thư mục nào đó trên repository.

Khi thực hiện commit, trong repository sẽ ghi lại sự khác biệt từ lần commit trước với trạng thái hiện tại. Các commit ghi nối tiếp với nhau theo thứ tự thời gian do đó chỉ cần theo vết các commit thì có thể biết được lịch sử thay đổi trong quá khứ.

Khi bạn thực hiện commit, hệ thống đều yêu cầu bạn phải nhập vào commit message để ghi chú tóm tắt là trong lần commit này là bạn đã thực hiện những thay đổi nào, có ý nghĩa thế nào,…

Kết nối repo local tới git:

git remote add origin <link repo trên github>

Đẩy source code lên git:

git push -u origin master

Lệnh push được sử dụng để đưa nội dung kho lưu trữ cục bộ lên server. Push là cách bạn chuyển giao các commit từ kho lưu trữ cục bộ của bạn lên server.

Một số câu lệnh cơ bản của git:

Tạo branch cho git bằng lệnh:

git branch <tên-branch>

Khi tạo một repository mặc định sẽ có một nhánh chính tên là master, đây là branch chứa toàn bộ các mã nguồn chính trong repository. Tạo nhiều branch giúp cho thay đổi project không bị ảnh hưởng tới branch còn lại. Khi hoàn chỉnh các tính năng thì có thể gộp lại thành 1 branch duy nhất.Tất cả các branch đều được hệ thống lưu lại lịch sử các lần commit trên nhánh và bạn hoàn toàn quay lại mốc commit nào mà mình muốn.

Chuyển đổi branch:

Git checkout <tên-branch>

Tạo và chuyển đổi branch làm việc:

git checkout -b <tên-nhánh>

Gộp 2 branch :

git merge <tên-branch>

hoặc

git rebase <tên-branch>

Merge sẽ tạo ra commit mới là kết hợp từ 2 commit cuối cùng của 2 branch cần gộp vào với nhau.

Rebase sẽ gắn commit vào với nhánh gốc nên các commit sẽ được đăng kí theo thứ tự gắn vào.

Git pull và git fetch:

Khi muốn cập nhật các thay đổi từ trên remote server về local repository ta cũng có hai cách để thực hiện điều này như sau:

git pull <tên-remote> <tên-remote-branch>

git fetch <tên-remote> <tên-remote-branch>

pull sẽ tiến hành kéo các thay đổi từ trên remote server về local của chúng ta đồng thời tiến hành merge các thay đổi.

Đối với lệnh fetch, các thay đổi từ remote server sẽ được kéo về máy nhưng không tự động merge vào source code và ta có thể thực hiện việc này sau khi đã review lại các thay đổi đó trước khi tiến hành merge.

Ta có thể hiểu đơn giản:

git pull = git fetch + git merge

git stash và git clean

Để Lưu lại trạng thái đang làm việc trên project khi muốn chuyển branch nhưng không commit:

git stash

Lấy lại trạng thái làm việc:

git stash pop

Xóa untracked files:

Git clean -f -d

Một số câu lệnh khác:

Mở trình quản lý GUI của git: git gui hoặc gitk

So sánh hai nhánh: git diff <nhánh-nguồn> <nhánh-cần-so-sánh>

Xóa nhánh local: git branch -d <tên nhánh>

Thêm description cho nhánh: git branch — edit-description

Merge nhánh phụ vào nhánh hiện hành: git merge <nhánh-phụ>

--

--