5 điểm bởi GN⁺ 2024-02-14 | 1 bình luận | Chia sẻ qua WhatsApp

Mẹo và thủ thuật Git

  • Giới thiệu những điều nhiều người chưa biết về Git và các tính năng mới.
  • Trước đây tác giả từng giảng về cách sử dụng Git nâng cao, nhưng gần đây nhận ra nhiều người chưa biết nhiều khía cạnh của Git.
  • Thế hệ lập trình viên mới không có trải nghiệm chuyển từ các hệ thống quản lý phiên bản khác sang Git.
  • Git hiện có thể thực hiện một số tính năng mà vài năm trước còn là điều không thể.
  • Những thay đổi của Git có thể khá tinh tế hoặc chỉ hữu ích trong những trường hợp rất cụ thể.

Giới thiệu chuỗi bài

  • Dự định viết 3 bài ngắn về một số điểm thú vị của Git dành cho người dùng Git từ trung cấp đến nâng cao.
  • Các chủ đề gồm:
    • Những thứ cũ nhưng vẫn hay
    • Những điều mới mẻ tinh tế
    • Các kho lưu trữ thực sự lớn và monorepo
  • Git vẫn liên tục mang lại những khám phá mới nên rất thú vị để tiếp tục tìm hiểu.

Ý kiến của GN⁺

  • Git không ngừng phát triển, và ngay cả những người dùng có nhiều kinh nghiệm lâu năm cũng có thể bất ngờ với các tính năng mới.
  • Với thế hệ lập trình viên mới, điều này có thể giúp họ hiểu Git tốt hơn khi so sánh với các hệ thống quản lý phiên bản trong quá khứ.
  • Loạt bài này được kỳ vọng sẽ mang đến các mẹo và thủ thuật giúp sử dụng Git hiệu quả hơn.

1 bình luận

 
GN⁺ 2024-02-14
Ý kiến trên Hacker News
  • Lời tác giả:

    • Tác giả cho biết gần đây mình đã học được rất nhiều điều, và nhắc rằng Microsoft cùng GitHub trong vài năm qua đã từng bước bổ sung các tính năng liên quan đến kho lưu trữ quy mô lớn vào lõi Git.
    • Ông đã có những cuộc trò chuyện thú vị với các nhà phát triển Mercurial, và cho biết họ đã đạt được mức cải thiện tốc độ đáng kinh ngạc khi viết một phần chức năng nội bộ bằng Rust.
    • Ông đang cân nhắc bản thứ ba của Pro Git, và nếu có điều gì bạn đã vất vả mới học được hoặc muốn biết về Git, ông muốn đưa vào nên nhờ mọi người cho biết.
  • Người dùng thích cách dùng Git đơn giản:

    • Không muốn học các tính năng phức tạp của Git, và sau khi push code thì muốn quên Git đi để tiếp tục làm việc.
    • Gửi lời khen tới những người yêu Git, nhưng cá nhân họ chỉ xem đây là một công cụ buộc phải dùng.
  • Người dùng học được điều mới về core.fsmonitor:

    • Nói về monorepo quy mô lớn, và cho rằng sẽ rất tốt nếu có tính năng tiếp tục tải xuống sau git clone.
    • Chia sẻ trải nghiệm từ những năm 2000 khi cố clone kho lưu trữ kernel qua kết nối chậm, và nhắc đến các vấn đề khi clone kho lưu trữ dung lượng lớn.
    • Chỉ ra rằng dù Git và Docker là những phần mềm chủ chốt trong stack phát triển hiện đại tiêu tốn nhiều băng thông, chúng vẫn không có hỗ trợ phù hợp để tiếp tục tải xuống.
  • Người dùng đọc và upvote các bài viết về Git của Scott Chacon:

    • Cho biết họ đã hình thành sự hiểu biết ban đầu về mô hình và luồng làm việc của Git thông qua các bài viết của Scott Chacon, và bày tỏ sự cảm ơn vì nội dung của ông tiếp tục giúp họ hiểu tốt hơn.
  • Người dùng hài lòng với Git:

    • Nói về việc nhiều người muốn giải quyết thách thức đóng góp mã cho nhiều bản phát hành, tính năng và hotfix khác nhau, gắn thẻ bản phát hành và lần theo lỗi bằng một giao diện "dễ hơn".
    • Cho rằng học Git không hề khó đến vậy, và một số người nên bỏ công sức ra để học Git.
  • Người dùng đang tìm lệnh Git:

    • Trong lúc cố tìm 10 tệp được sửa nhiều nhất kể từ khi được tạo, họ đã phát hiện thêm một số lệnh Git hữu ích.
  • Người dùng đã đơn giản hóa workflow Git:

    • Đã đơn giản hóa đáng kể workflow Git bằng một vài alias hoạt động trong nhiều thiết lập khác nhau.
    • Thông qua alias, họ thực hiện các việc như đồng bộ nhánh hiện tại với upstream hoặc origin, publish thay đổi lên remote, mở PR phù hợp, và mở trang GitHub của kho lưu trữ.
  • Người dùng sử dụng công cụ trực quan thay vì dòng lệnh Git:

    • Dùng các công cụ Git trực quan như SmartGit hoặc công cụ tích hợp trong IntelliJ, và cho rằng dùng Git trên dòng lệnh là dành cho những người thích khoe khoang.
    • Lập luận rằng porcelain gây rối và giao diện người dùng không có phong cách hay chủ đề nhất quán, nên cần một lớp "trực quan" mới.
  • Người dùng chia sẻ các mẹo hữu ích về Git:

    • Cho biết việc phát hiện ra có thể đặt tùy chọn --committerdate làm thứ tự sắp xếp mặc định là rất hữu ích.
    • Chia sẻ một vài lưu ý về git columnsgit maintenance, đồng thời giới thiệu một script hữu ích liên quan đến git blame.
  • Người dùng muốn có thể thay đổi các giá trị mặc định của Git:

    • Cho rằng nhiều thiết lập mặc định của Git có thể tốt hơn, nhưng chúng không được thay đổi để tránh phá vỡ khả năng tương thích với các phiên bản cũ hơn.