10 kỹ thuật Git nâng cao - KDnuggets

10 kỹ thuật Git nâng cao – KDnuggets

Nút nguồn: 3083811

10 kỹ thuật Git nâng cao
Hình ảnh từ tác giả
 

Bạn có bao giờ tự hỏi mình có thể làm gì để trông giống một người chuyên nghiệp trước mặt người quản lý khi sử dụng Git không? Trong bài đăng này, chúng ta sẽ tìm hiểu về 10 kỹ thuật và phím tắt Git nâng cao sẽ giúp bạn tạo phiên bản, duy trì và chia sẻ mã hiệu quả hơn.

Bạn có thể đã biết những điều cơ bản về cam kết, đẩy, kéo và phân nhánh với Git. Nhưng có nhiều lệnh và tính năng ít được biết đến hơn có thể nâng cao kỹ năng của bạn. Sau khi đọc phần này, bạn sẽ có sẵn một vài thủ thuật khéo léo để gây ấn tượng với đồng nghiệp về trình độ Git của mình.

Bạn đã thêm và cam kết các tệp theo cách này nhiều lần, nhưng nếu tôi nói với bạn rằng nó có thể được thực hiện trong một dòng với cờ `-am` thì sao? 

$ git add .
$ git commit -m "new project"

 

Thay vào đó hãy thử điều này và nó sẽ thêm các thay đổi vào tệp và tạo cam kết bằng thông báo. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

Bạn có thể đổi tên thông báo cam kết hiện tại của mình bằng cách sử dụng cờ `–amend` và viết thông báo mới. Điều này sẽ giúp bạn với những tin nhắn vô tình.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

Bạn có thể bao gồm các thay đổi bổ sung cho cam kết hiện tại trước khi đẩy nó vào kho lưu trữ từ xa. Để làm như vậy, bạn cần thêm các thay đổi vào tệp và sau đó cam kết sử dụng cờ `–amend`. Để giữ lại thông báo cam kết trước đó, chỉ cần sử dụng cờ `–no-edit`.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

Nếu bạn muốn đẩy một cam kết cục bộ và ghi đè lịch sử từ xa mà không giải quyết được vấn đề, bạn có thể sử dụng cờ `–force`. Tuy nhiên, điều quan trọng cần lưu ý là việc sử dụng cờ lực lượng không được khuyến khích và chỉ nên sử dụng khi bạn hoàn toàn chắc chắn về những gì mình đang làm. Hãy nhớ rằng việc sử dụng cờ bắt buộc sẽ viết lại lịch sử từ xa.

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

Để hoàn tác một cam kết trong Git, bạn có thể sử dụng lệnh `revert`. Tuy nhiên, lệnh này không loại bỏ bất kỳ cam kết nào. Thay vào đó, nó tạo ra một cam kết mới hoàn tác những thay đổi được thực hiện bởi cam kết ban đầu.

Chúng tôi sẽ sử dụng `log` với cờ `–oneline` để xem lịch sử cam kết ở dạng ngắn hơn. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

Để hoàn nguyên về cam kết trước đó, chúng tôi sử dụng lệnh `git Revert` theo sau là ID cam kết. Điều này tạo ra một cam kết mới với những thay đổi từ cam kết trước đó.

$ git revert 8f184d5

Bạn có muốn tăng năng suất của mình trên GitHub không? Với GitHub Code Spaces, giờ đây bạn có thể chỉnh sửa và chạy mã trực tiếp trong trình duyệt của mình. 

Để truy cập tính năng này, chỉ cần điều hướng đến kho lưu trữ yêu thích của bạn, nhấn phím dấu chấm (“.”) trên bàn phím và nó sẽ chuyển hướng bạn đến giao diện người dùng VSCode.

 

10 kỹ thuật Git nâng cao
Hình ảnh từ tác giả
 

Bạn có thể thực hiện các thay đổi đối với mã và đẩy chúng vào kho lưu trữ từ xa của mình. Tuy nhiên, nếu muốn chạy mã trong thiết bị đầu cuối, bạn cần chạy Codespace trên đám mây. Phiên bản miễn phí cung cấp tùy chọn tuyệt vời để chạy mã Python trong trình duyệt của bạn. Điều đó không tuyệt vời sao? Tôi mới biết về nó ngày hôm nay.

 

10 kỹ thuật Git nâng cao
Hình ảnh từ tác giả

Khi làm việc trên một dự án, bạn có thể thêm tệp vào khu vực tổ chức và sau đó cam kết chúng sẽ lưu tiến trình hiện tại của bạn. Tuy nhiên, có một cách khác để lưu công việc của bạn một cách dễ dàng bằng lệnh `stash`. Khi bạn sử dụng `stash`, bạn lưu tiến trình hiện tại của mình mà không cần thêm nó vào khu vực tổ chức hoặc cam kết nó. Điều này cho phép bạn lưu tiến trình của mình và khôi phục nó bất cứ khi nào bạn cần.

Chúng tôi sẽ lưu tiến trình hiện tại của mình bằng cách cung cấp tên và lưu trữ nó. 

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

Bạn có thể xem danh sách stash của mình và ghi lại chỉ mục tương ứng để truy xuất nó.

$ git stash list

 

stash@{0}: On master: new-idea

 

Kho “ý tưởng mới” của chúng tôi được lưu ở chỉ mục 0. Để truy xuất nó, hãy sử dụng lệnh này:

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

Bạn có tùy chọn đổi tên chi nhánh mặc định của mình thành tên nào đó phù hợp hơn. Trong trường hợp này, chúng tôi sẽ đổi tên “master” thành “main”. 

$ git branch -M main

 

10 kỹ thuật Git nâng cao
 

Bạn có thể xác minh các thay đổi bằng lệnh sau: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

Nếu bạn muốn xem lịch sử chi tiết của tất cả các cam kết được thực hiện trong kho lưu trữ hiện tại, bạn có thể sử dụng lệnh `git log`. Tuy nhiên, đầu ra có thể khó đọc. Để làm cho nó dễ đọc hơn, bạn có thể sử dụng các cờ `graph`, `trang trí` và `oneline`. Điều này sẽ hiển thị những thay đổi được thực hiện trong nhiều nhánh và cách chúng hợp nhất.

$ git log --graph --decorate --oneline

 

10 kỹ thuật Git nâng cao

Nhiều lần tôi chuyển sang chi nhánh mới và quên mất tên chi nhánh trước đó. Do đó, tôi phải sử dụng lệnh `git nhánh -a` để xem danh sách tên nhánh. Tuy nhiên, có một cách đơn giản hơn để quay lại nhánh ban đầu bằng cách sử dụng dấu gạch ngang “-” sau lệnh `gitcheck`.

Đầu tiên chúng ta sẽ tạo nhánh Git mới “neo”.

$ git branch neo

 

Chúng ta sẽ chuyển sang nhánh “neo”.

$ git checkout neo

 

Switched to branch 'neo'

 

Để quay trở lại nhánh ban đầu, chúng ta sẽ sử dụng lệnh sau:

$ git checkout -

 

Switched to branch 'main'

Chúng ta đã tìm hiểu về cách ghi đè kho lưu trữ từ xa. Hãy tìm hiểu cách ghi đè kho lưu trữ cục bộ bằng kho lưu trữ từ xa.

Chúng tôi sẽ sử dụng lệnh `fetch` để nhận những thay đổi mới nhất từ ​​kho lưu trữ từ xa. 

$ git fetch origin

 

Sau đó, chúng ta sẽ sử dụng lệnh “reset” với cờ “hard” để ghi đè mọi thay đổi cục bộ bằng phiên bản từ xa. Xin lưu ý rằng thao tác này sẽ loại bỏ vĩnh viễn mọi thay đổi cục bộ.

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

Nếu vẫn còn các tệp chưa được theo dõi, chúng có thể bị xóa bằng lệnh sau:

$ git clean -df

Tôi được truyền cảm hứng để viết bài này sau khi xem một YouTube video của Fireship. Tôi ngưỡng mộ người sáng tạo vì khả năng giải thích các chủ đề phức tạp một cách đơn giản. Bằng cách làm theo phương pháp của anh ấy, tôi đã học được rất nhiều điều về các tính năng của Git.

Trong bài viết này, chúng tôi đã đề cập đến các kỹ thuật Git nâng cao rất quan trọng đối với các nhà khoa học dữ liệu và kỹ sư phần mềm đang làm việc trong một dự án dữ liệu hợp tác. Biết những kỹ thuật này có thể giúp bạn tránh được tai nạn và giải quyết vấn đề nhanh hơn nhiều.

Tôi hy vọng bạn thấy blog này hữu ích. Vui lòng cho tôi biết nếu bạn muốn đọc thêm các bài đăng có thông tin cỡ byte về các công cụ thường được sử dụng trong thế giới khoa học dữ liệu.
 
 

Abid Ali Awan (@ 1abidaliawan) là một nhà khoa học dữ liệu chuyên nghiệp được chứng nhận, người yêu thích việc xây dựng các mô hình học máy. Hiện tại, anh đang tập trung sáng tạo nội dung và viết blog kỹ thuật về công nghệ máy học và khoa học dữ liệu. Abid có bằng Thạc sĩ về Quản lý Công nghệ và bằng cử nhân về Kỹ thuật Viễn thông. Tầm nhìn của ông là xây dựng một sản phẩm AI bằng cách sử dụng mạng nơ-ron đồ thị cho những sinh viên đang chống chọi với bệnh tâm thần.

Dấu thời gian:

Thêm từ Xe đẩy