Git là một hệ thống kiểm soát phiên bản phân tán. Nó được sử dụng để theo dõi các thay đổi trong bất kỳ tệp nào. Nó được thiết kế để phối hợp công việc giữa các lập trình viên đang vận hành mã nguồn trong quá trình phát triển phần mềm. Trong bài viết này, tôi sẽ chỉ cho bạn các lệnh để thực hiện các thao tác cơ bản trên kho lưu trữ Git. Chúng ta sẽ sử dụng máy chủ Ubuntu làm hệ điều hành. Các lệnh tương tự có thể hoạt động trên bất kỳ hệ điều hành nào và chỉ có phần cài đặt sẽ khác.
Tôi đã cài đặt nó trên máy chủ Ubuntu 20 0.4 LTS của mình.
Nếu bạn đang sử dụng cùng hệ điều hành với tôi thì bạn có thể cài đặt nó bằng lệnh sau nếu bạn không có nó trên máy chủ của mình.
Bây giờ chúng ta hãy bắt đầu với các thao tác cơ bản trong Git.
Kiểm tra thư mục hiện tại và tạo một thư mục mới trong đó. Đổi thư mục làm việc của bạn thành thư mục bạn đã tạo.
Cho đến thời điểm này, chúng ta chỉ có một thư mục không chứa bất kỳ tệp nào và là một thư mục đơn giản trong hệ thống Linux. Sử dụng lệnh sau để chuyển đổi thư mục đơn giản thành kho lưu trữ Git.
Bây giờ bạn có thể thấy rằng một thư mục ẩn mới đã được tạo với các cấu hình Git trong đó.
Khi khởi tạo kho lưu trữ Git, nó không chứa danh tính người dùng. Để đặt tên người dùng và ID email làm danh tính người dùng, hãy sử dụng các lệnh sau. Danh tính này được thêm vào các thông báo Gitlog.
Sau khi bạn thiết lập danh tính người dùng và liệt kê cấu hình, bạn có thể thấy tên người dùng và email đã được thiết lập.
Bạn thậm chí có thể kiểm tra tên người dùng và ID email đã được thiết lập làm danh tính người dùng bằng các lệnh sau.
Các lệnh trên thiết lập danh tính người dùng bị giới hạn trong một kho lưu trữ cụ thể.
Thậm chí có thể thiết lập danh tính người dùng sẽ được sử dụng bởi tất cả các kho lưu trữ trên máy của bạn và được gọi là danh tính toàn cục. Nếu bạn thiết lập danh tính toàn cục, các kho lưu trữ không có danh tính cục bộ sẽ sử dụng danh tính toàn cục này khi cam kết các thông báo.
Nếu danh tính toàn cục không được thiết lập và bạn cố gắng liệt kê tên người dùng và email, bạn sẽ không nhận được bất kỳ thông tin nào.
Nhưng sau khi bạn thiết lập tên người dùng và ID email và sau đó bạn kiểm tra danh tính, bạn có thể thấy nó được hiển thị.
Bất kỳ ai và nêu danh tính toàn cục bằng các lệnh sau.
Kiểm tra ảnh chụp màn hình sau để tham khảo
Bây giờ bạn biết rằng bạn có thể kiểm tra danh tính cục bộ của mình bằng các lệnh nhưng bạn thậm chí có thể kiểm tra những gì đã được thiết lập bằng cách đọc tệp .git/config.
Nếu bạn đọc nội dung của tệp .git/config, bạn sẽ thấy tên người dùng và email đã được thiết lập trong tệp này. Và đây là nơi danh tính cục bộ được sử dụng. Thậm chí có thể thay đổi danh tính bằng cách chỉnh sửa cùng một tệp.
Sau khi bạn đã thiết lập danh tính cam kết cho kho lưu trữ cục bộ của mình, bước tiếp theo là tạo một tệp và thêm tệp đó vào kho lưu trữ.
Hãy tạo một tệp trống trong kho lưu trữ cục bộ.
Sau khi thêm tệp, nếu bạn kiểm tra trạng thái của kho lưu trữ, bạn sẽ thấy rằng tệp hiện không được Git theo dõi.
Trước khi cam kết tệp của mình với Git, bạn cần thêm tệp đó trước. Sử dụng lệnh sau để thêm tệp của bạn vào Git để tệp đó sẵn sàng cho lần commit.
Khi commit một tệp vào kho lưu trữ Git, bạn cần thêm một thông báo vào đó.
Bây giờ, khi kiểm tra nhật ký, bạn sẽ thấy tệp đã được commit với thông báo mà chúng ta đã chỉ định trong commit.
Theo mặc định, các commit của bạn được thêm vào nhánh chính.
Bây giờ, chúng ta sẽ xem cách thực hiện một vài thao tác trên một kho lưu trữ hiện có. Nếu bạn không có kho lưu trữ hiện có trên nền tảng lưu trữ mã, chẳng hạn như Github, để kiểm soát phiên bản và cộng tác, trước tiên hãy tạo một tài khoản trên Github để tạo một kho lưu trữ.
Bạn có thể tạo một tài khoản trên Github tại đây.
Sau khi tạo tài khoản trên Github, đã đến lúc tạo một kho lưu trữ mới. Để tạo một kho lưu trữ, hãy nhấp vào biểu tượng "+" ở góc trên bên phải màn hình và nhấp vào tùy chọn "Kho lưu trữ mới".
Đặt tên cho kho lưu trữ sẽ được tạo và đặt mức truy cập của nó là riêng tư hoặc công khai dựa trên yêu cầu của bạn. Bạn thậm chí có thể thêm tệp readme trong khi tạo kho lưu trữ. Nhấp vào nút "Tạo kho lưu trữ" để tạo kho lưu trữ với cấu hình bạn đã chỉ định.
Sau khi tạo kho lưu trữ, bước tiếp theo là sao chép kho lưu trữ đó trên hệ thống cục bộ của bạn. Để lấy URL, hãy nhấp vào "Code" và sao chép URL từ phần HTTPS.
Quay lại hệ thống của bạn và thay đổi thư mục làm việc của bạn
Sao chép kho lưu trữ trên máy cục bộ của bạn bằng lệnh sau, Bạn cần chỉ định URL Git của mình.
Lệnh trên sẽ sao chép kho lưu trữ của bạn từ Github sang máy cục bộ của bạn và bây giờ nếu bạn kiểm tra nhật ký Git, bạn sẽ thấy một thông báo nhật ký với cam kết ban đầu mà tôi đã thêm tệp README.md.
Bây giờ hãy tạo một tệp mới, thêm tệp đó vào Git và xác nhận nó bằng một thông báo.
Khi xác nhận, bạn sẽ được yêu cầu thiết lập danh tính người dùng của mình
Sau khi thiết lập danh tính người dùng, bạn có thể sửa danh tính trong lần xác nhận mà chúng ta đã thực hiện.
Để sửa danh tính, hãy thực hiện lệnh sau lệnh. Bạn sẽ nhận được một trình soạn thảo và tại đó bạn có thể thay đổi commit nếu cần.
Khi kiểm tra Git log, bạn sẽ thấy log có danh tính bạn đã đặt và commit bạn đã sửa.
Bạn đã sẵn sàng để đẩy các thay đổi cục bộ của mình lên kho lưu trữ từ xa. Lệnh sau để đẩy các thay đổi lên Github trong kho lưu trữ của bạn.
Bây giờ bạn có thể tìm thấy các thay đổi của mình trong kho lưu trữ từ xa. Truy cập kho lưu trữ và bạn có thể tìm thấy cam kết và tệp bạn đã thêm.
Đôi khi bạn có thể cần loại trừ các tệp cụ thể khỏi việc được thêm vào kho lưu trữ.
Bạn có thể tạo tệp .gitignore và thêm mẫu tệp sẽ bị Git bỏ qua.
Ở đây, tôi đã thêm "*.txt" để bỏ qua tất cả các tệp có đuôi ".txt".
Sau khi bạn thêm một mẫu vào tệp .gitignore và tạo một tệp có mẫu đó trong kho lưu trữ, tệp đó sẽ bị Git bỏ qua.
Vì chúng ta đã thêm *.txt và bây giờ nếu chúng ta cố gắng tạo một tệp có đuôi .txt, tệp đó sẽ bị Git bỏ qua trong thao tác "git add".
Các tệp không khớp với mẫu sẽ không bị Git bỏ qua
Sau đó, bạn có thể thêm tất cả các tệp trong kho lưu trữ và xác nhận chúng bằng một thông báo. Bạn sẽ nhận thấy rằng các tệp đã bị bỏ qua sẽ không được thêm vào.
Sau khi các tệp đã được thêm vào và cam kết bằng một thông báo, chúng đã sẵn sàng để được đẩy lên kho lưu trữ từ xa.
Nếu bạn muốn xóa các tệp của mình khỏi kho lưu trữ, bạn có thể sử dụng lệnh "git rm ".
Sau khi xóa tệp, bạn có thể commit và đẩy các thay đổi của mình vào kho lưu trữ.
Điều kiện tiên quyết
- Ubuntu 20.04
Chúng ta sẽ làm gì?
- Khởi tạo kho lưu trữ cục bộ và thực hiện các thao tác cơ bản trên đó.
- Sao chép một kho lưu trữ hiện có và thực hiện các thao tác cơ bản trên đó.
Khởi tạo kho lưu trữ cục bộ và thực hiện các thao tác cơ bản trên đó.
Trước khi tiến hành, hãy kiểm tra hệ điều hành bạn đang sử dụng và xem Git có khả dụng trên đó không.Tôi đã cài đặt nó trên máy chủ Ubuntu 20 0.4 LTS của mình.
Mã:
cat /etc/issue
Mã:
git --version
Nếu bạn đang sử dụng cùng hệ điều hành với tôi thì bạn có thể cài đặt nó bằng lệnh sau nếu bạn không có nó trên máy chủ của mình.
Mã:
sudo apt-get install git
Kiểm tra thư mục hiện tại và tạo một thư mục mới trong đó. Đổi thư mục làm việc của bạn thành thư mục bạn đã tạo.
Mã:
pwd
Mã:
mkdir my-first-git-repo
Mã:
cd my-first-git-repo/
Mã:
ls -la
Cho đến thời điểm này, chúng ta chỉ có một thư mục không chứa bất kỳ tệp nào và là một thư mục đơn giản trong hệ thống Linux. Sử dụng lệnh sau để chuyển đổi thư mục đơn giản thành kho lưu trữ Git.
Mã:
git init
Mã:
ls -la
Mã:
cat .git/config
Khi khởi tạo kho lưu trữ Git, nó không chứa danh tính người dùng. Để đặt tên người dùng và ID email làm danh tính người dùng, hãy sử dụng các lệnh sau. Danh tính này được thêm vào các thông báo Gitlog.
Mã:
git config --list
Mã:
git config user.name rahul
Mã:
git config user.email [emailprotected]
Mã:
git config --list
Bạn thậm chí có thể kiểm tra tên người dùng và ID email đã được thiết lập làm danh tính người dùng bằng các lệnh sau.
Mã:
git config user.name
Mã:
git config user.email
Các lệnh trên thiết lập danh tính người dùng bị giới hạn trong một kho lưu trữ cụ thể.
Thậm chí có thể thiết lập danh tính người dùng sẽ được sử dụng bởi tất cả các kho lưu trữ trên máy của bạn và được gọi là danh tính toàn cục. Nếu bạn thiết lập danh tính toàn cục, các kho lưu trữ không có danh tính cục bộ sẽ sử dụng danh tính toàn cục này khi cam kết các thông báo.
Nếu danh tính toàn cục không được thiết lập và bạn cố gắng liệt kê tên người dùng và email, bạn sẽ không nhận được bất kỳ thông tin nào.
Mã:
git config --global user.name
Mã:
git config --global user.email
Mã:
git config --global user.name rahul
Mã:
git config --global user.email [emailprotected]
Mã:
git config --global user.name
Mã:
git config --global user.email
Mã:
git config --global --unset user.name
Mã:
git config --global --unset user.email
Mã:
git config --global user.name
Mã:
git config --global user.email
Bây giờ bạn biết rằng bạn có thể kiểm tra danh tính cục bộ của mình bằng các lệnh nhưng bạn thậm chí có thể kiểm tra những gì đã được thiết lập bằng cách đọc tệp .git/config.
Mã:
git config user.name
Mã:
git config user.email
Mã:
vim .git/config
Mã:
cat .git/config
Mã:
git config user.name
Mã:
git config user.email
Sau khi bạn đã thiết lập danh tính cam kết cho kho lưu trữ cục bộ của mình, bước tiếp theo là tạo một tệp và thêm tệp đó vào kho lưu trữ.
Hãy tạo một tệp trống trong kho lưu trữ cục bộ.
Mã:
chạm vào README.md
Mã:
git status
Mã:
git branch
Mã:
git add README.md
Mã:
git status
Mã:
git log
Mã:
git commit -m "my first commit - added README.md"
Mã:
git log
Mã:
git branch
Sao chép một kho lưu trữ hiện có và thực hiện các thao tác cơ bản trên đó
Cho đến thời điểm này, chúng ta đã làm việc với một kho lưu trữ trên hệ thống cục bộ của chúng tôi.Bây giờ, chúng ta sẽ xem cách thực hiện một vài thao tác trên một kho lưu trữ hiện có. Nếu bạn không có kho lưu trữ hiện có trên nền tảng lưu trữ mã, chẳng hạn như Github, để kiểm soát phiên bản và cộng tác, trước tiên hãy tạo một tài khoản trên Github để tạo một kho lưu trữ.
Bạn có thể tạo một tài khoản trên Github tại đây.
Sau khi tạo tài khoản trên Github, đã đến lúc tạo một kho lưu trữ mới. Để tạo một kho lưu trữ, hãy nhấp vào biểu tượng "+" ở góc trên bên phải màn hình và nhấp vào tùy chọn "Kho lưu trữ mới".
Đặt tên cho kho lưu trữ sẽ được tạo và đặt mức truy cập của nó là riêng tư hoặc công khai dựa trên yêu cầu của bạn. Bạn thậm chí có thể thêm tệp readme trong khi tạo kho lưu trữ. Nhấp vào nút "Tạo kho lưu trữ" để tạo kho lưu trữ với cấu hình bạn đã chỉ định.
Sau khi tạo kho lưu trữ, bước tiếp theo là sao chép kho lưu trữ đó trên hệ thống cục bộ của bạn. Để lấy URL, hãy nhấp vào "Code" và sao chép URL từ phần HTTPS.
Quay lại hệ thống của bạn và thay đổi thư mục làm việc của bạn
Mã:
pwd
Mã:
cd ..
Mã:
pwd
Mã:
git clone
Mã:
cd test-repo/
Mã:
ls -lt
Mã:
git log
Bây giờ hãy tạo một tệp mới, thêm tệp đó vào Git và xác nhận nó bằng một thông báo.
Mã:
pwd
Mã:
touch first-file-to-push
Mã:
git status
Mã:
git add first-file-to-push
Mã:
git status
Mã:
git commit -m "first commit to push to the remote repository"
Mã:
git config --list
Mã:
git config user.name rahul
Mã:
git config user.email [emailprotected]
Mã:
git config --list
Mã:
git log
Để sửa danh tính, hãy thực hiện lệnh sau lệnh. Bạn sẽ nhận được một trình soạn thảo và tại đó bạn có thể thay đổi commit nếu cần.
Mã:
git commit --amend --reset-author
Mã:
git log
Mã:
git status
Mã:
git push
Bây giờ bạn có thể tìm thấy các thay đổi của mình trong kho lưu trữ từ xa. Truy cập kho lưu trữ và bạn có thể tìm thấy cam kết và tệp bạn đã thêm.
Đôi khi bạn có thể cần loại trừ các tệp cụ thể khỏi việc được thêm vào kho lưu trữ.
Mã:
pwd
Mã:
ls -la
Mã:
touch .gitignore
Mã:
vim .gitignore
Mã:
cat .gitignore
Vì chúng ta đã thêm *.txt và bây giờ nếu chúng ta cố gắng tạo một tệp có đuôi .txt, tệp đó sẽ bị Git bỏ qua trong thao tác "git add".
Mã:
touch ignore-this-file.txt
Mã:
git status
Mã:
touch dont-ignore-this-file.doc
Mã:
git status
Mã:
git add .
Mã:
git status
Mã:
git commit -m "added .gitignore and a sample doc file"
Mã:
git status
Mã:
git push
Nếu bạn muốn xóa các tệp của mình khỏi kho lưu trữ, bạn có thể sử dụng lệnh "git rm ".
Mã:
pwd
Mã:
ls -lt
Mã:
git status
Mã:
git rm dont-ignore-this-file.doc
Mã:
git status
Mã:
ls -la
Mã:
git commit -m "git removed dont-ignore-this-file.doc "
Mã:
git status
Mã:
git push