1. Git Environment Setup.
Thiết lập môi trường Git là quá trình chuẩn bị các thành phần cần thiết để thực thi Git trên các nền tảng khác nhau. Môi trường này bao gồm cài đặt phần mềm, phần cứng và mạng, bao gồm cài đặt hệ thống, cấu hình phần mềm, các thiết bị kiểm tra và các yếu tố hỗ trợ khác để thực hiện các thao tác.
Ở các phần trước mình đã hướng dẫn cài đặt Git trên 3 hệ điều hành Linux, MacOS và Windows rồi nên phần này chúng ta không nhắc lại cách cài đặt nữa.
Tiếp theo dưới đây sẽ là hướng dẫn cách kiểm tra phiên bản Git đang sử dụng, hiển thị các lệnh Git và cách cấu hình Git.
2. Kiểm tra phiên bản Git.
Sử dụng lệnh git --version
để kiểm tra phiên bản Git đang sử dụng.
shell> git --version
git version 2.39.2 (Apple Git-143)
3. Hiển thị các trợ giúp về Git.
Sử dụng lệnh git --help
để hiển thị danh sách các lệnh Git.
shell> git --help
usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
[--super-prefix=<path>] [--config-env=<name>=<envvar>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
work on the current change (see also: git help everyday)
add Add file contents to the index
mv Move or rename a file, a directory, or a symlink
restore Restore working tree files
rm Remove files from the working tree and from the index
examine the history and state (see also: git help revisions)
bisect Use binary search to find the commit that introduced a bug
diff Show changes between commits, commit and working tree, etc
grep Print lines matching a pattern
log Show commit logs
show Show various types of objects
status Show the working tree status
grow, mark and tweak your common history
branch List, create, or delete branches
commit Record changes to the repository
merge Join two or more development histories together
rebase Reapply commits on top of another base tip
reset Reset current HEAD to the specified state
switch Switch branches
tag Create, list, delete or verify a tag object signed with GPG
collaborate (see also: git help workflows)
fetch Download objects and refs from another repository
pull Fetch from and integrate with another repository or a local branch
push Update remote refs along with associated objects
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
Đầu ra này là hướng dẫn sử dụng cơ bản cho Git, bao gồm các lệnh chung và một số lệnh thường được sử dụng trong các tình huống khác nhau:
- Cú pháp chung:
git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>] [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path] [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare] [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>] [--super-prefix=<path>] [--config-env=<name>=<envvar>] <command> [<args>]
- Các lệnh Git phổ biến:
- Bắt đầu một khu vực làm việc:
clone
(sao chép một repository vào một thư mục mới),init
(tạo một repository Git trống hoặc khởi tạo lại một repository hiện có). - Làm việc trên thay đổi hiện tại:
add
(thêm nội dung file vào index),mv
(di chuyển hoặc đổi tên một file, thư mục, hoặc symlink),restore
(khôi phục các file trong cây làm việc),rm
(xóa file khỏi cây làm việc và từ index). - Kiểm tra lịch sử và trạng thái:
bisect
(sử dụng tìm kiếm nhị phân để tìm commit đã giới thiệu lỗi),diff
(hiển thị sự thay đổi giữa các commit, commit và cây làm việc, v.v.),grep
(in các dòng khớp với một mẫu),log
(hiển thị log commit),show
(hiển thị các loại đối tượng khác nhau),status
(hiển thị trạng thái cây làm việc). - Phát triển, đánh dấu và điều chỉnh lịch sử chung của bạn:
branch
(liệt kê, tạo, hoặc xóa nhánh),commit
(ghi lại thay đổi vào repository),merge
(gộp hai hoặc nhiều lịch sử phát triển lại với nhau),rebase
(áp dụng lại các commit trên đỉnh của một tip cơ sở khác),reset
(đặt lại HEAD hiện tại về trạng thái đã chỉ định),switch
(chuyển nhánh),tag
(tạo, liệt kê, xóa hoặc xác minh một đối tượng tag đã ký với GPG). - Hợp tác:
fetch
(tải về đối tượng và tham chiếu từ một repository khác),pull
(tải về từ và tích hợp với một repository khác hoặc một nhánh cục bộ),push
(cập nhật tham chiếu từ xa cùng với các đối tượng liên quan).
- Bắt đầu một khu vực làm việc:
- Trợ giúp thêm: Sử dụng
git help -a
vàgit help -g
để liệt kê các lệnh con và một số hướng dẫn khái niệm. Sử dụnggit help <command>
hoặcgit help <concept>
để đọc về một lệnh con hoặc khái niệm cụ thể. Sử dụnggit help git
để xem tổng quan về hệ thống.
4. Cấu hình Git.
Sử dụng lệnh git config
để thiết lập các tham số cho Git. Các tham số này có thể được lưu trữ ở nhiều nơi khác nhau tùy thuộc vào cách bạn thiết lập:
Lệnh git config --list
hiển thị tất cả các cấu hình Git hiện tại. Trong trường hợp của bạn, có hai cấu hình được hiển thị:
credential.helper=osxkeychain
: Cấu hình này chỉ định rằng Git sẽ sử dụng “osxkeychain” như là trợ giúp xác thực (credential helper). Trợ giúp xác thực là một công cụ giúp Git lưu mật khẩu và tên người dùng, để bạn không phải nhập lại mỗi khi thực hiện các thao tác cần xác thực, như push hoặc pull. “osxkeychain” là trợ giúp xác thực mặc định trên macOS, nó lưu mật khẩu và tên người dùng vào khóa chính (keychain) của macOS.init.defaultbranch=main
: Cấu hình này chỉ định rằng khi bạn tạo một repository Git mới với lệnhgit init
, nhánh mặc định (default branch) sẽ được đặt tên là “main”. Trước đây, nhánh mặc định thường được đặt tên là “master”, nhưng nhiều cộng đồng và công ty đã chuyển sang sử dụng “main” như là tên nhánh mặc định.
Có rất nhiều cấu hình khác mà bạn có thể thiết lập với git config
.
Cấu hình user.name
và user.email
.
Đây là tên và email mà bạn muốn gắn với các commit của mình. Bạn có thể thiết lập chúng với các lệnh sau:
git config --global user.name "Tên của bạn"
git config --global user.email "email@của.bạn"
Tham số --global
trong lệnh git config
được sử dụng để áp dụng cấu hình cho tất cả các repository trên hệ thống của bạn.
Khi bạn sử dụng git config
với tham số --global
, các cấu hình sẽ được lưu trong file ~/.gitconfig
(hoặc ~/.config/git/config
trên một số hệ thống) và sẽ có hiệu lực cho tất cả các repository trên hệ thống của bạn.
Nếu bạn muốn áp dụng cấu hình chỉ cho một repository cụ thể, bạn có thể sử dụng lệnh git config
mà không có tham số --global
. Cấu hình sẽ được lưu trong file .git/config
trong thư mục của repository đó.
Ngoài ra, còn có tham số --system
để áp dụng cấu hình cho tất cả các người dùng trên hệ thống và tất cả các repository của họ. Cấu hình sẽ được lưu trong file /etc/gitconfig
.
Ví dụ.
git config --global user.name "Hà Đăng Hoàng"
git config --global user.email "hoanghd164@gmail.com"
Cấu hình core.editor
.
Bạn sẽ note lại trình soạn thảo mà Git sẽ sử dụng khi cần bạn nhập thông tin, như thông điệp commit.
Bạn có thể thiết lập nó với lệnh sau:
git config --global core.editor "tên_trình_soạn_thảo"
Thay “tên_trình_soạn_thảo” bằng tên của trình soạn thảo mà bạn muốn sử dụng, như “vim”, “emacs”, “nano”, v.v.
Lệnh git config --global core.editor "tên_trình_soạn_thảo"
chỉ đơn giản là thiết lập trình soạn thảo mà Git sẽ sử dụng khi cần bạn nhập thông tin, như thông điệp commit.
Khi bạn thực hiện một commit mà không cung cấp thông điệp commit trực tiếp (ví dụ: git commit -m "Thông điệp commit"
), Git sẽ mở trình soạn thảo mà bạn đã cấu hình để bạn có thể nhập thông điệp commit.
Ví dụ, nếu bạn thiết lập git config --global core.editor "Visual Studio Code"
, thì khi bạn thực hiện git commit
mà không cung cấp thông điệp commit, Git sẽ mở Vim để bạn nhập thông điệp commit.
Đây chỉ là một số cấu hình mà bạn có thể thiết lập với git config
. Có rất nhiều cấu hình khác mà bạn có thể tìm hiểu trong tài liệu của Git.
Sau khi bạn thiết lập xong, sử dụng lệnh git config --list
để xem lại thông tin đã cấu hình.
shell> git config --list
credential.helper=osxkeychain
init.defaultbranch=main
user.name=Hà Đăng Hoàng
user.email=hoanghd164@gmail.com
core.editor=Visual Studio Code
Đây chỉ là một số cấu hình mà bạn có thể thiết lập với git config
. Có rất nhiều cấu hình khác mà bạn có thể tìm hiểu trong tài liệu của Git.
Chúc các bạn thành công.