Git Pro (P4)
1.4 Cài đặt Git lần đầu
Trong phần trước, chúng ta đã được hướng dẫn về các cách khác nhau để cài đặt Git trên các hệ điều hành khác nhau. Qua đó, ta đã bước đầu tiếp cận và thao tác một phần với Git. Trong phần này, chúng ta sẽ tiến sâu hơn vào phần cài đặt và cấu hình Git để có thể tuỳ chỉnh môi trường theo ý muốn của bản thân. Đón đọc phần trước tại đây.
Thiết lập Git lần đầu
Bây giờ bạn đã có Git trên hệ thống của mình, bạn sẽ muốn thực hiện một số điều để tùy chỉnh môi trường Git. Bạn chỉ phải thực hiện những việc này một lần trên bất kỳ máy tính nào và chúng sẽ được lưu lại. Bạn cũng có thể thay đổi chúng bất cứ lúc nào bằng cách chạy lại các lệnh theo ý tuỳ chỉnh của riêng bạn.
Git đi kèm với một công cụ được gọi là git config cho phép bạn lấy và đặt các biến cấu hình kiểm soát tất cả các khía cạnh về cách Git quản lí và vận hành. Các biến này có thể được lưu trữ ở ba nơi khác nhau:
- Tệp /etc/gitconfig: Chứa các giá trị được áp dụng cho mọi người dùng trên hệ thống và tất cả các kho lưu trữ của họ. Nếu bạn chuyển qua các tùy chọn –system để chạy git config, nó đọc và viết từ tập tin này.Vì đây là tệp cấu hình hệ thống, bạn sẽ cần quyền quản trị hoặc người dùng cấp hệ thống(administrative or superuser privilege) để thực hiện các thay đổi đối với tệp đó.
- Tệp ~/.gitconfig hoặc ~/.config/git/config: Giá trị cụ thể cá nhân cho bạn, người dùng. Bạn có thể làm cho Git đọc và ghi vào tệp này một cách cụ thể bằng cách chuyển sang tùy chọn –global và điều này ảnh hưởng đến tất cả các kho lưu trữ mà bạn làm việc trên hệ thống của mình.
- Tệp config trong thư mục Git (nghĩa là .git/config) của bất kỳ kho lưu trữ nào bạn đang sử dụng: Cụ thể cho kho lưu trữ duy nhất đó, bạn có thể buộc Git đọc và ghi vào tệp này bằng tùy chọn –local. Nhưng thực tế đó là mặc định. (Không có gì đáng ngạc nhiên, nó cần được đặt ở đâu đó trong kho Git để tùy chọn này hoạt động chính xác.)
Mỗi cấp độ ghi đè các giá trị ở cấp độ trước, do đó, các giá trị sẽ vượt qua các giá trị .git/config trong /etc/gitconfig.
Trên các hệ thống Windows, Git tìm tệp .gitconfig trong thư mục $HOME ( C:\Users\$USER đối với hầu hết mọi người). Nó vẫn tìm kiếm /etc/gitconfig, mặc dù nó liên quan đến root MSys, đó là bất cứ nơi nào bạn quyết định cài đặt Git trên hệ thống Windows của bạn khi bạn chạy trình cài đặt. Nếu bạn đang sử dụng phiên bản 2.x trở lên cho Windows, thì cũng có tệp cấu hình cấp hệ thống C:\Documents and Settings\All Users\Application Data\Git\config trên Windows XP, C:\ProgramData\Git\config trên Windows Vista và mới hơn. Tập tin cấu hình này chỉ có thể được thay đổi bởi lệnh git config -f <file> với quyền admin.
Bạn có thể xem tất cả các cài đặt của mình và nơi chúng sẽ được sử dụng:
$ git config –list –show-origin
Danh tính của bạn
Điều đầu tiên bạn nên làm khi cài đặt Git là đặt tên người dùng và địa chỉ email. Điều này rất quan trọng vì mọi cam kết Git đều sử dụng thông tin này và nó được đưa vào các cam kết mà bạn bắt đầu tạo ra một cách bất biến:
$ git config –global user.name “John Doe”
$ git config –global user.email johndoe@example.com
Một lần nữa, bạn chỉ cần thực hiện việc này một lần nếu bạn chuyển qua tùy chọn –global, vì khi đó Git sẽ luôn sử dụng thông tin đó cho bất kỳ điều gì bạn làm trên hệ thống đó. Nếu bạn muốn ghi đè tên này bằng một tên hoặc địa chỉ email khác cho các dự án cụ thể, bạn có thể chạy lệnh mà không có tùy chọn –global khi bạn ở trong dự án đó.
Nhiều công cụ GUI sẽ giúp bạn làm điều này khi bạn chạy chúng lần đầu tiên.
Biên tập viên của bạn
Bây giờ danh tính của bạn đã được thiết lập, bạn có thể chỉ định cấu hình trình soạn thảo văn bản mặc định sẽ được sử dụng khi Git cần bạn nhập tin nhắn. Nếu không được chỉ định cấu hình, Git sẽ sử dụng trình chỉnh sửa mặc định trên hệ thống của bạn.
Nếu bạn muốn sử dụng một trình soạn thảo văn bản khác, chẳng hạn như Emacs, bạn có thể làm như sau:
$ git config –global core.editor emacs
Trên hệ thống Windows, nếu bạn muốn sử dụng trình soạn thảo văn bản khác, bạn phải chỉ định đường dẫn đầy đủ đến tệp thực thi của nó. Điều này có thể khác nhau tùy thuộc vào cách trình soạn thảo của bạn được đóng gói.
Trong trường hợp Notepad ++, trình chỉnh sửa lập trình phổ biến, bạn có thể muốn sử dụng phiên bản 32 bit, vì tại thời điểm viết phiên bản 64 bit không hỗ trợ tất cả các plug-ins. Nếu bạn đang sử dụng hệ thống Windows 32 bit hoặc bạn có trình chỉnh sửa 64 bit trên hệ thống 64 bit, bạn sẽ nhập một cái gì đó như thế này:
$ git config –global core.editor “‘C:/Program Files/Notepad++/notepad++.exe’ -multiInst -notabbar -nosession -noPlugin”
Ghi chú: Vim, Emacs và Notepad ++ là các trình soạn thảo văn bản phổ biến thường được các nhà phát triển sử dụng trên các hệ thống dựa trên Unix như Linux và macOS hoặc hệ thống Windows. Nếu bạn đang sử dụng trình chỉnh sửa khác hoặc phiên bản 32 bit, vui lòng tìm hướng dẫn cụ thể về cách thiết lập trình chỉnh sửa yêu thích của bạn với Git trong các lệnh git config core.editor.
Cảnh báo: Bạn có thể thấy, nếu bạn không thiết lập trình soạn thảo của mình như thế này, bạn sẽ rơi vào trạng thái thực sự khó hiểu khi Git cố gắng khởi chạy nó. Một ví dụ trên hệ thống Windows có thể bao gồm thao tác Git bị chấm dứt sớm trong quá trình chỉnh sửa do nó khởi tạo.
Kiểm tra cài đặt của bạn
Nếu bạn muốn kiểm tra cài đặt cấu hình của mình, bạn có thể sử dụng lệnh git config –list để liệt kê tất cả các cài đặt mà Git có thể tìm thấy tại thời điểm đó:
$ git config –list
user.name=John Doe
user.email=johndoe@example.com
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
…
Bạn có thể thấy các key nhiều lần, bởi vì Git đọc cùng một key từ các tệp khác nhau ( /etc/gitconfig và ~/.gitconfig chẳng hạn). Trong trường hợp này, Git sử dụng giá trị cuối cùng cho mỗi key duy nhất mà nó nhìn thấy.
Bạn cũng có thể kiểm tra xem Git nghĩ giá trị của một key cụ thể bằng cách nhập git config <key>:
$ git config user.name
John Doe
Ghi chú: Vì Git có thể đọc cùng một giá trị biến cấu hình từ nhiều tệp, nên có thể bạn có một giá trị không mong muốn cho một trong những giá trị này và bạn không biết tại sao. Trong trường hợp như vậy, bạn có thể truy vấn Git về nguồn gốc của giá trị đó và nó sẽ cho bạn biết tệp cấu hình nào có tương tác cuối cùng trong việc đặt giá trị đó:
$ git config –show-origin rerere.autoUpdate
file:/home/johndoe/.gitconfig false
Gợi ý:
Nếu bạn cần trợ giúp trong khi sử dụng Git, có ba cách tương đương để nhận trợ giúp toàn diện (trang manpage) cho bất kỳ lệnh Git nào:
$ git help <verb>
$ git <verb> –help
$ man git-<verb>
Ví dụ: bạn có thể nhận trợ giúp cho lệnh git config bằng cách chạy
$ git help config
Các lệnh này rất hay vì bạn có thể truy cập chúng ở bất cứ đâu, thậm chí ngoại tuyến. Nếu các trang web và sách điên tử này không đủ và bạn cần các trợ giúp trực tuyến, bạn có thể thử #git hoặc #github kênh trên máy chủ Freenode IRC, có thể tìm thấy tại https://freenode.net . Các kênh này thường xuyên có sự tương tác của hàng trăm người, những người rất am hiểu về Git và thường sẵn sàng giúp đỡ.
Ngoài ra, nếu bạn không cần trợ giúp đầy đủ, nhưng chỉ cần xem lại nhanh các tùy chọn có sẵn cho lệnh Git, bạn có thể yêu cầu ngắn gọn hơn với các tùy chọn -h như:
$ git add -h
usage: git add [<options>] [–] <pathspec>…
-n, –dry-run dry run
-v, –verbose be verbose
-i, –interactive interactive picking
-p, –patch select hunks interactively
-e, –edit edit current diff and apply
-f, –force allow adding otherwise ignored files
-u, –update update tracked files
–renormalize renormalize EOL of tracked files (implies -u)
-N, –intent-to-add record only the fact that the path will be added later
-A, –all add changes from all tracked and untracked files
–ignore-removal ignore paths removed in the working tree (same as –no-all)
–refresh don’t add, only refresh the index
–ignore-errors just skip files which cannot be added because of errors
–ignore-missing check if – even missing – files are ignored in dry run
–chmod (+|-)x override the executable bit of the listed files
Tổng kết
Tới đây, chúng ta đã kết thúc chương đầu tiên của cuốn sách. Qua chương này, chúng ta đã nắm được một số khái niệm cơ bản, nhưng đặc điểm đặc trưng cũng như tiện ích mà Git mang lại. Qua đó, ta cũng đã bước đầu cài đặt và tiếp xúc với Git một cách sơ khai nhất. Đây là nền tảng để chúng ta có thể tìm hiểu sâu hơn về Git trong cuốn sách này và sẵn sàng bước tiếp tới những chương tiếp theo một cách đầy hào hứng. Loạt bài viết này xin phép được tạm dừng tại đây. Hi vọng qua những bài viết này, bạn có thể rút ra được những kiến thức bổ ích để vận dụng vào trong công việc hàng ngày. Hãy thường xuyên theo dõi và cập nhật những bài viết tiếp theo tại https://labs.flinters.vn.