Ngày nay, các chương trình phát triển phần mềm và mã hóa đang gia tăng. Như vậy, nhu cầu về các chương trình được sử dụng trong lĩnh vực này cũng tăng vọt. Điều này đã tạo ra một môi trường cạnh tranh cao trong thế giới trực tuyến, nơi các chương trình mã hóa và DevOps khác nhau cạnh tranh để giành giải thưởng cho chương trình được sử dụng phổ biến nhất trong lĩnh vực tương ứng của chúng. Git là một trong những chương trình này. Cùng với trạng thái bình thường mới của công việc từ xa đối với các công việc chủ yếu được thực hiện sau màn hình máy tính, điều này đã dẫn đến việc nhiều người lưu trữ chương trình của họ, bao gồm cả Git trên các máy chủ từ xa. Nếu bạn cũng nằm trong danh mục này và muốn cài đặt máy chủ Git của riêng mình thì không cần tìm đâu xa.
Trong bài viết này, tôi sẽ tìm hiểu chính xác Git là gì và đề cập đến những ưu và nhược điểm của nó, trước khi tiếp tục chỉ cho bạn những yêu cầu bạn sẽ cần và lưu trữ máy chủ Git của riêng bạn. Đi thôi!
Git là gì?
Git là một chương trình DevOps được thiết kế để cho phép các lập trình viên và lập trình viên thực hiện các dự án của họ và thực hiện chúng một cách hiệu quả nhất có thể. Chức năng quan trọng nhất của Git là theo dõi những thay đổi trong mã nguồn theo thời gian. Git là miễn phí và mã nguồn mở và nhận được cập nhật thường xuyên. Điều này làm cho Git trở thành một trong những chương trình DevOps mã hóa đáng tin cậy và dễ tiếp cận nhất trên thế giới. Mỗi máy tính chứa phiên bản Git, hoạt động như một thư mục kho lưu trữ đầy đủ với lịch sử riêng về tất cả các thay đổi tệp. Sau gần 20 năm tích cực phát triển và hơn 30 bản cập nhật được phát hành cho Git, chương trình hiện đang chạy trên phiên bản 2.40.0 và còn nhiều bản cập nhật khác đang chờ xử lý trong tương lai. Bây giờ, hãy tìm hiểu một số trường hợp sử dụng của Git để hiểu rõ hơn lý do tại sao chúng ta muốn cài đặt máy chủ Git ngay từ đầu.
Các trường hợp sử dụng Git
Trước khi di chuyển quá nhanh để lưu trữ máy chủ cục bộ Git của riêng bạn, hãy nhanh chóng làm quen với các trường hợp sử dụng chính của Git để nhận ra lý do tại sao chúng ta lại chạy máy chủ Git ngay từ đầu.
Kho lưu trữ nhân bản
Nhiều nhà phát triển và lập trình viên thích tạo kho lưu trữ Git trên máy chủ để theo dõi các chương trình và tệp mà họ muốn. Git có thể dễ dàng và thông qua một số lệnh cơ bản, cho phép bạn sao chép kho lưu trữ nhân Linux hiện tại của mình và sử dụng nó để thu thập nhật ký thay đổi mạch lạc và hiệu quả hơn nhiều chỉ những tệp bạn quan tâm. Quá trình này rất dễ thực hiện và bạn có thể dễ dàng quản lý các dự án mã hóa lớn và nhỏ với nó. Quá trình này còn được gọi là “phân nhánh”, vì về bản chất, bạn tạo một nhánh mới từ kho lưu trữ đã tồn tại của mình.
Quy trình làm việc Git
Git Workflow là một trường hợp sử dụng chính khác mà bạn sẽ sử dụng khi định cấu hình máy chủ git của riêng mình. Bạn có thể sử dụng máy chủ cục bộ Git của mình để tạo hai nhóm nhánh bằng quy trình nhân bản và yêu cầu một trong số chúng đại diện cho dự án của bạn, chẳng hạn như một trang web. Sau đó, bạn có thể tạo một máy chủ Git với một nhánh sản xuất riêng biệt, nơi tất cả các thay đổi do từng nhà phát triển thực hiện sẽ được ghi lại và thậm chí có thể được kiểm tra trước khi triển khai. Cách tiếp cận nhiều lớp này để phát triển và thử nghiệm không chỉ nâng cao hiệu quả của bạn mà còn giúp việc theo dõi quá trình phát triển và các thay đổi trở nên vô cùng dễ dàng.
Sáp nhập
Bạn có nhớ phân nhánh kho lưu trữ của mình và nhật ký thay đổi không? Như tên cho thấy, Hợp nhất là đối cực của hoạt động đó. Trong việc hợp nhất, vốn được nhiều người coi là khía cạnh thách thức nhất của Git, chúng tôi đang tìm cách đưa dữ liệu từ một nút nhánh của kho lưu trữ trở lại kho lưu trữ chính nơi nó được tách ra ban đầu. Điều này thường được thực hiện để tạo một máy chủ Git có báo cáo dự án toàn diện và lịch sử thay đổi, bao gồm tất cả các thay đổi của dự án từ các khu vực khác nhau trong một kho lưu trữ ngắn gọn và dễ giải mã. Mặc dù trong quá trình thực hiện dự án, bạn cần phân nhánh để tránh nhầm lẫn, việc hợp nhất được thiết kế để đảo ngược hành động và đưa ra một bức tranh tổng thể rõ ràng hơn ở cuối dự án trong quá trình khắc phục sự cố.
Lưu trữ máy chủ Git của riêng bạn: Ưu và nhược điểm
Mỗi chương trình đều có một số ưu và nhược điểm quan trọng mà người dùng muốn tham gia chương trình và sử dụng nó trong chương trình của họ phải biết. Trong phần này, tôi sẽ thảo luận về những ưu và nhược điểm khi áp dụng cho Git. Tuy nhiên, những ưu và nhược điểm này chỉ áp dụng cho Git nếu bạn tự lưu trữ nó, đó là nội dung mà hướng dẫn này ít nhiều đề cập đến, vì vậy hãy cùng tìm hiểu nhé.
Git tự lưu trữ: Ưu điểm
Không có sự tham gia của bên thứ ba
Với Git tự lưu trữ, bạn và những người bạn gặp sẽ là những người duy nhất có phương tiện truy cập vào tệp của bạn. Điều này về cơ bản giúp loại bỏ mọi sự tham gia không mong muốn của bên thứ ba và giúp bạn yên tâm theo đuổi dự án của mình. Dữ liệu của bạn cũng sẽ an toàn hơn nhiều và bạn có thể phân bổ các tài nguyên mà bạn đã dự định để bảo mật ở nơi khác.
Bảo vệ
Nói về bảo mật, Git an toàn đến mức bạn có thể thực hiện được thông qua các phương pháp hay nhất và triển khai các công cụ của bên thứ ba. Mặc dù mức độ bảo mật giảm xuống khi bạn tự lưu trữ thay vì sử dụng nó, nhưng bạn có quyền tự do gần như không giới hạn về mức độ an toàn mà bạn có thể thực hiện cho hoạt động của riêng mình.
Kho lưu trữ không giới hạn
Ghi nhớ nhân bản và phân nhánh? Không có giới hạn về số lượng kho lưu trữ bạn có thể tạo bằng Git. Điều này làm cho nó cực kỳ phù hợp với các dự án lớn hơn mà mỗi nhánh phát triển đều cần kho lưu trữ của nó. Điều này cũng tuyệt vời cho các dự án có tệp lớn như nội dung 3D và trường hợp bạn làm việc với Unity.
Git tự lưu trữ: Nhược điểm
Nỗ lực quản lý cao
Kho lưu trữ Git có thể nhanh chóng vượt quá tầm kiểm soát Nếu bạn quyết định định cấu hình máy chủ Git trên nền tảng tự lưu trữ của riêng mình, việc quản lý tất cả các nhánh và siêu dữ liệu có thể sớm trở thành một vấn đề đau đầu. Vì vậy, bạn cần phải cực kỳ chính xác với nó hoặc nhờ một số lập trình viên lành nghề làm việc đó cho bạn.
Đường cong học tập thô
Lưu trữ Git là một chuyện, nhưng làm chủ nó và chạy máy chủ cục bộ Git của bạn lại là một chuyện khác. Git được cho là có một trong những mức trần kỹ năng cao nhất so với bất kỳ chương trình DevOps dựa trên kho lưu trữ nào và một lần nữa, bạn cần dành nhiều thời gian để tìm hiểu nó hoặc thuê ngoài nó.
Không hỗ trợ GUI và Windows
Bạn có muốn thiết lập máy chủ Git trên Windows không? Hoặc có thể bạn muốn định cấu hình máy chủ Git để chạy với GUI? Chà, bạn thật không may mắn. Bạn bị giới hạn ở các hệ điều hành có nhân Linux làm mã cơ sở và không có GUI nào giúp bạn thực hiện mọi việc dễ dàng hơn. Bạn có muốn cài đặt máy chủ Git và tự lưu trữ không? Tốt hơn hãy học những điều cơ bản về mã hóa.
Phương pháp lỗi thời
Theo mọi số liệu có thể tưởng tượng được, việc sử dụng Git trên máy chủ tự lưu trữ dường như đã lỗi thời và thua kém các phương pháp chạy Git khác, hiệu quả hơn. Các ví dụ điển hình về quy trình chạy Git hiệu quả hơn là chạy GitLab, vì vậy trước khi bạn quyết định chạy máy chủ Git của riêng mình, hãy kiểm tra GitLab cũng vậy!
Yêu cầu cần thiết để cài đặt máy chủ Git
Bây giờ, hãy nhanh chóng xem xét các yêu cầu cần thiết để thiết lập máy chủ Git và lưu trữ máy chủ Git của riêng bạn. Để lưu trữ Git, bạn chỉ cần hai thành phần, một máy chủ và một phiên bản Git, cùng một chút kiến thức về mã hóa để thực hiện quá trình định cấu hình máy chủ Git.
Máy chủ Git
Đối với máy chủ, bạn có thể sử dụng một PC khác của riêng mình, sử dụng máy chủ chuyên dụng từ các nhà cung cấp truyền thống hoặc nếu bạn thích cách tiếp cận thực tế hơn, hãy sử dụng máy chủ VPS đám mây (máy chủ riêng ảo). Khi có VPS, bạn có thể trực tiếp quản lý máy chủ và vận hành phiên bản Git cùng một lúc. Xin lưu ý rằng máy chủ của bạn cần có bản phân phối Linux để thiết lập máy chủ Git. Cloudzy cung cấp nhiều loại VPS Linux các dịch vụ có hơn 10 bản phân phối Linux uy tín như Ubuntu, Debian, CentOS, Kali và OpenSUSE. Bắt đầu chỉ với 4,95 đô la một tháng, bạn có thể sở hữu một máy chủ Linux đáng tin cậy gần vị trí của mình để đảm bảo chất lượng kết nối tuyệt vời và sử dụng nó để tự lưu trữ và chạy máy chủ Git!
Hãy sở hữu cho mình một VPS Linux cao cấp hoặc tiết kiệm để lưu trữ trang web hoặc máy tính từ xa của bạn với mức giá rẻ nhất hiện có. VPS Chạy trên Linux KVM để tăng hiệu quả và hoạt động trên phần cứng mạnh mẽ với bộ lưu trữ SSD NVMe để tăng tốc độ.
Đọc thêmPhiên bản Git
Quá trình thiết lập máy chủ Git rất dễ dàng và chúng tôi sẽ thực hiện nó một cách tự động như một phần của quá trình cài đặt. Như đã đề cập, Git là nguồn mở và không mất phí. Đây là điều khiến Git được ưa chuộng hơn nhiều chương trình dựa trên kho lưu trữ tập trung vào mã hóa và phát triển khác hiện có. Bây giờ chúng tôi đã có các yêu cầu, hãy chuyển thẳng vào hướng dẫn từng bước của chúng tôi để Cài đặt máy chủ Git trên máy chủ Linux của bạn!
Cài đặt Máy chủ Git trên Linux (Hướng dẫn từng bước)
Bước 1: Tải xuống và cài đặt Git
Đây là bước đầu tiên trong quy trình cài đặt máy chủ Git. Trong thiết bị đầu cuối của bản phân phối Linux mà bạn chọn, hãy nhập lệnh sau để bắt đầu tải xuống Git:
Các bản phân phối dựa trên Ubuntu/Debian:
sudo apt install git
Các bản phân phối dựa trên Arch:
sudo pacman -S git
Các bản phân phối dựa trên RHEL:
sudo dnf install git
Lệnh này sẽ tải xuống và cài đặt Git trên máy chủ Linux của bạn. Đợi quá trình kết thúc.
Bước 2: Đăng ký và cấu hình máy chủ Git
Nếu bạn có máy chủ cục bộ trên máy tính để bàn khác, hãy khởi động nó, nếu không, nếu bạn có VPS, hãy sử dụng SSH hoặc RDP để kết nối từ xa với máy chủ Linux của bạn. Bây giờ chúng ta sẽ cấu hình máy chủ Git để chạy từ xa. Chúng tôi sẽ thực hiện việc này bằng cách tạo tài khoản Git bằng lệnh sau:
ssh username@address
sudo useradd git
Sau đó nhập lệnh này để chuyển sang tài khoản mới tạo của bạn:
su git
Bước này chủ yếu được thực hiện để đảm bảo tính bảo mật cho máy chủ cục bộ Git của bạn. Sử dụng tài khoản này, bạn sẽ là quản trị viên của máy chủ. Bạn có thể sắp xếp những người dùng tiềm năng trong tương lai thành các nhóm người dùng một cách an toàn với các giới hạn và cấp độ truy cập được xác định trước.
Bước 3: Tạo thư mục SSH và Tạo kho lưu trữ git trên máy chủ
Bước tiếp theo trong quy trình cài đặt máy chủ Git là tạo một thư mục SSH độc quyền để lưu khóa công khai và tạo kho lưu trữ Git trên máy chủ với các lớp bảo mật bổ sung và cấp độ truy cập được xác định cho bạn. Bắt đầu bằng cách nhập lệnh sau:
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
Khi bạn đã hạn chế quyền truy cập của những người khác bằng dòng lệnh này, hãy nhập dòng tiếp theo để đảm bảo rằng các khóa SSH của bạn được lưu trữ an toàn trong một ủy quyền_keys thư mục, nơi chỉ bạn mới có thể truy cập chúng (chỉ chạy lệnh này nếu bạn KHÔNG có id_rsa.pub tài liệu):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
Cuối cùng, sao chép khóa chung SSH mà bạn đã tạo để thiết lập kết nối SSH mới với tính năng bảo mật bổ sung cho máy chủ cục bộ Git của bạn:
cd .ssh
vi authorized_keys
Bước 4: Tạo thư mục chính
Trong máy chủ Linux, bạn cần tạo một thư mục mới để lưu tất cả các kho lưu trữ mà Git sẽ sử dụng trong các dự án tương lai của bạn. Bạn có thể tìm hiểu chi tiết về việc quản lý kho Git của mình. Nhập lệnh này:
mkdir directory_name
Bước 5: Thêm dự án của bạn!
Bạn đã quản lý để tạo máy chủ Git! Quá trình cài đặt máy chủ Git đã kết thúc thành công và bạn cũng đã định cấu hình thành công máy chủ Git. Tất cả những gì còn lại là thêm các dự án bổ sung bằng lệnh sau:
cd parent_directory
mkdir new_project.git
Sau đó nhập lệnh này để thêm nguồn gốc từ xa vào máy tính cục bộ của bạn:
git init --bare
git remote add origin name git@address:new_project.git
Cuối cùng, thực hiện thao tác đẩy Git để kiểm tra xem mọi thứ có hoạt động như dự định không:
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
Xin chúc mừng, bạn đã quản lý thành công việc lưu trữ git và tạo kho lưu trữ git trên máy chủ.
Câu hỏi thường gặp
Tôi có thể lưu trữ Git mà không cần máy chủ không?
Không. Cho dù bản chất máy chủ của bạn là gì thì bạn cũng sẽ cần phần cứng để hoạt động như máy chủ của mình. Bạn có thể sử dụng GitHub để hoạt động như một máy chủ đám mây cho kho lưu trữ của mình hoặc sử dụng VPS cung cấp hoặc sử dụng dịch vụ lưu trữ của bên thứ ba khác để hoạt động như một máy chủ.
Có cách nào để cài đặt máy chủ Git bằng GUI không?
Đúng. Mặc dù bản thân Git không hỗ trợ GUI, nhưng một phiên bản độc lập có GUI được gọi là “Git GUI” có sẵn cho những người không thể sống thiếu GUI.
Có gói trả phí cho Git không?
Không. Git đã và sẽ luôn là một chương trình nguồn mở và miễn phí như được phản ánh bởi các nhà phát triển và nhà xuất bản ban đầu của nó. Vì vậy, bạn có thể sử dụng chương trình này như một công cụ phái sinh để phát triển chương trình của mình, nếu không, chương trình này sẽ miễn phí.
Tại sao bạn nên lưu trữ máy chủ Git của riêng mình?
Giả sử bạn đang muốn chạy một dự án nhỏ với số lượng kho lưu trữ hạn chế. Trong trường hợp đó, việc tự lưu trữ sẽ riêng tư và an toàn hơn. Vì vậy, đó là động cơ chính. Nhưng khi bạn chuyển sang các dự án lớn hơn với nhiều kho lưu trữ hơn, việc tự lưu trữ bắt đầu mất đi hiệu quả.