Hướng dẫn Git nâng cao

theanh

Administrator
Nhân viên
Bài viết này là phần tiếp theo của bài viết hiện tại của tôi: Bắt đầu sử dụng GIT trên Linux. Nếu bạn mới làm quen với Git, tôi khuyên bạn nên đọc qua bài viết trước của tôi trước rồi mới tiếp tục với bài viết này.

Trong bài viết này, chúng ta sẽ tìm hiểu về cách tạo nhánh, gắn thẻ, đổi tên nhánh và hoàn nguyên các cam kết trên Git.
  1. Nhánh: Phân nhánh giúp tạo ra một dòng phát triển mới để tránh mọi sự lộn xộn trên nhánh chính.
  2. Thẻ: Thẻ trong Git là tham chiếu đến lịch sử Git.
  3. Đổi tên nhánh: Đổi tên nhánh có nghĩa là thay đổi tên nhánh hiện có và đưa mã hiện có của chúng ta vào một nhánh có tên mới.
  4. Hoàn nguyên một cam kết: Hoàn nguyên giúp hoàn tác các thay đổi trong kho lưu trữ cục bộ và từ xa.

Điều kiện tiên quyết​

  1. Hiểu biết cơ bản về Git (Nhấp vào đây để tìm hiểu những điều cơ bản về Git.)

Chúng ta sẽ làm gì?​

  1. Tạo một nhánh.
  2. Gộp một nhánh vào nhánh chính.
  3. Tạo một thẻ.
  4. Đổi tên một nhánh.
  5. Hoàn nguyên một cam kết.

Tạo một nhánh​

Truy cập kho lưu trữ cục bộ của bạn và chỉ cần kiểm tra nhánh của bạn và trạng thái của nó bằng các lệnh sau trước khi tạo một nhánh mới. Ở đây, test-repo là tên kho lưu trữ của tôi.
Mã:
pwd
Mã:
git status
Mã:
git log
Mã:
git branch


Tạo một nhánh mới trong kho lưu trữ hiện tại của bạn và kiểm tra nhánh đó.
Mã:
git branch
Mã:
git branch my-feature-branch
Mã:
git branch
Mã:
git checkout my-feature-branch
Mã:
git nhánh


Hãy tạo một tệp mới và đẩy nó vào nhánh mà chúng ta đã tạo.
Mã:
ll
Mã:
touch new-file-in-my-feature-branch
Mã:
git status
Mã:
git add new-file-in-my-feature-branch
Mã:
git commit -m "created a new file in my-feature-branch"
Mã:
git push
Mã:
git push --set-upstream origin my-feature-branch

Gộp một nhánh vào nhánh chính​

Nếu chúng ta muốn những thay đổi của mình trong nhánh mới được hợp nhất vào nhánh chính, chúng ta có thể sử dụng các lệnh sau để hợp nhất những thay đổi đó vào nhánh mà chúng ta muốn. Đầu tiên, chúng ta cần kiểm tra nhánh chính rồi hợp nhất nhánh đã tạo.
Mã:
ll
Mã:
git branch
Mã:
git checkout main
Mã:
ll
Mã:
git merge my-feature-branch
Mã:
ll

Tạo thẻ​

Tạo thẻ cũng đơn giản như tạo nhánh. Trước tiên, hãy thực hiện một số thay đổi trong therepo, sau đó tạo một thẻ. Chúng ta vẫn cần phải cam kết các thay đổi trước khi đẩy chúng lên kho lưu trữ từ xa.
Mã:
git tag
Mã:
ll
Mã:
touch new-file-for-tag
Mã:
git status
Mã:
git add new-file-for-tag
Mã:
git tag -a mytag.v1 -m
Mã:
git tag -a mytag.v1 -m "create a tag"
Mã:
git tag
Mã:
git log
Mã:
git status
Mã:
git commit -m "create a tag mytag.v1"
Mã:
git push


Chúng ta có thể kiểm tra tất cả các thẻ mà chúng ta có và cam kết với những thẻ đó. Cách chúng ta đẩy nhánh của mình, chúng ta cũng có thể đẩy các thẻ.
Mã:
git tag
Mã:
git show mytag.v1
Mã:
git push origin mytag.v1


Cách chúng ta kiểm tra một nhánh, chúng ta cũng có thể kiểm tra một thẻ cụ thể.
Mã:
git branch
Mã:
git tag
Mã:
git checkout mytag.v1
Mã:
git branch


Hãy kiểm tra nhánh chính trước khi tiến hành các bước tiếp theo.
Mã:
git branch
Mã:
git checkout main
Mã:
git branch

Đổi tên nhánh​

Đôi khi bạn có thể cảm thấy rằng mình cần đổi tên nhánh của mình. Bạn có thể thực hiện điều này rất dễ dàng bằng cách sử dụng các lệnh sau.
Mã:
git branch
Mã:
git branch wrong-brach
Mã:
git checkout wrong-brach
Mã:
touch file-in-wrong-branch
Mã:
git add file-in-wrong-branch
Mã:
git commit -m "Đã tạo nhánh wrong-brach với tệp mới"
Mã:
git push
Mã:
git push --set-upstream origin wrong-brach
Mã:
git branch
Mã:
git branch --move wrong-brach correct-branch
Mã:
git branch
Mã:
push --set-upstream origin correct-branch


Bạn thậm chí có thể xóa nhánh khỏi kho lưu trữ từ xa.
Mã:
git branch
Mã:
git branch -a
Mã:
git push origin --delete wrong-brach
Mã:
git branch -a

Hoàn nguyên một cam kết​

Trong trường hợp bạn muốn hoàn nguyên cam kết của mình và vẫn giữ nguyên các thay đổi cục bộ, bạn có thể sử dụng các lệnh sau để thực hiện thiết lập lại mềm.
Mã:
git branch
Mã:
git checkout main
Mã:
git log
Mã:
git reset --soft HEAD~1
Mã:
git log


Bạn có thể thấy rằng sau khi hoàn nguyên commit, các thay đổi cục bộ của bạn vẫn khả dụng.
Mã:
git status
Mã:
git pull
Mã:
git log
Mã:
git status


Nếu bạn muốn hoàn nguyên commit và không muốn giữ nguyên các thay đổi cục bộ, bạn có thể sử dụng các lệnh sau và thực hiện khôi phục cài đặt gốc
Mã:
git log
Mã:
git reset --hard HEAD~1
Mã:
git status
Mã:
git log


Trong trường hợp này, bạn có thể thấy rằng sau khi hoàn nguyên commit, bạn không có các thay đổi cục bộ
Mã:
git status
Mã:
git pull
Mã:
git log


Trong hai trường hợp trên, chúng ta đã thấy việc hoàn nguyên các cam kết cục bộ. Đôi khi bạn có thể cần hoàn nguyên các cam kết của mình từ kho lưu trữ từ xa. Để thực hiện việc này, bạn cần đẩy các thay đổi của mình lên nhánh với hậu tố "+" vào tên nhánh sau khi bạn hoàn nguyên các thay đổi cục bộ.
Mã:
git branch
Mã:
git log
Mã:
git reset --hard HEAD~1
Mã:
git push +main
Mã:
git push origin +main


Bạn có thể thấy rằng kho lưu trữ từ xa không chứa cam kết đã được hoàn nguyên.


Kết luận​

Trong bài viết này, chúng tôi đã đề cập đến các trường hợp như tạo nhánh và thẻ. Chúng ta đã thấy cách một nhánh có thể được đổi tên nếu chúng ta nhận ra rằng chúng ta cần thay đổi tên của nhánh hiện tại. Chúng ta cũng thấy các cam kết trong kho lưu trữ cục bộ, cũng như kho lưu trữ từ xa, có thể được hoàn nguyên. Bây giờ bạn có thể sử dụng các lệnh từ bài viết này và tự mình thử chúng.
 
Back
Bên trên