요즘 코딩과 소프트웨어 개발 프로그램이 늘어나고 있습니다. 그만큼 이 분야에 사용되는 프로그램에 대한 수요도 급증하고 있다. 이로 인해 다양한 코딩 및 DevOps 프로그램이 해당 분야에서 가장 일반적으로 사용되는 프로그램 상을 받기 위해 경쟁하는 온라인 세계에서 경쟁이 치열한 환경이 조성되었습니다. Git은 이러한 프로그램 중 하나입니다. 대부분 컴퓨터 화면 뒤에서 수행되는 작업에 대한 원격 작업의 새로운 표준 상태와 함께 이로 인해 많은 사람들이 원격 서버에서 Git을 포함하여 프로그램을 호스팅하게 되었습니다. 자신이 이 범주에 속하고 자신만의 Git 서버를 설치하고 싶다면 더 이상 찾지 마세요.
이 기사에서는 Git이 정확히 무엇인지 살펴보고 장점과 단점을 다룬 다음, 필요한 요구 사항을 보여주고 자체 Git 서버를 호스팅할 것입니다. 갑시다!
힘내란 무엇입니까?
힘내 코더와 프로그래머가 프로젝트를 진행하고 최대한 효율적으로 수행할 수 있도록 설계된 DevOps 프로그램입니다. Git의 가장 중요한 기능은 시간이 지남에 따라 소스 코드의 변경 사항을 추적하는 것입니다. Git은 무료 및 오픈 소스 정기적인 업데이트를 받습니다. 이로 인해 Git은 세계에서 가장 쉽게 액세스할 수 있고 안정적인 코딩 DevOps 프로그램 중 하나가 되었습니다. Git 인스턴스가 있는 모든 컴퓨터는 모든 파일 변경 사항에 대한 별도의 기록이 있는 전체 저장소 디렉터리 역할을 합니다. 약 20년 동안 활발하게 개발되고 Git용으로 30개 이상의 업데이트가 출시된 후, 이 프로그램은 현재 버전 2.40.0에서 실행되며 더 많은 향후 업데이트가 보류 중입니다. 이제 처음에 Git 서버를 설치하려는 이유를 더 잘 이해하기 위해 Git의 사용 사례 중 일부를 배워보겠습니다.
힘내 사용 사례
자신의 Git 로컬 서버를 호스팅하기 위해 너무 빨리 이동하기 전에 먼저 Git 서버를 실행하려는 이유를 이해하기 위해 Git의 주요 사용 사례에 빠르게 익숙해지도록 합시다.
복제 저장소
많은 개발자와 코더는 원하는 프로그램과 파일을 추적하기 위해 서버에 Git 저장소를 만드는 것을 선호합니다. Git은 몇 가지 기본 명령을 통해 쉽게 현재 Linux 커널 저장소를 복제하고 이를 사용하여 관심 있는 파일에 대해서만 훨씬 일관되고 효율적인 변경 로그를 수집할 수 있습니다. 이 프로세스는 수행하기 쉽고 이를 통해 크고 작은 코딩 프로젝트를 쉽게 관리할 수 있습니다. 이 프로세스는 "분기”, 본질적으로 이미 존재하는 저장소에서 새 브랜치를 생성하기 때문입니다.
힘내 작업 흐름
Git 워크플로는 자신만의 Git 서버를 구성한 후 사용할 또 다른 주요 사용 사례입니다. Git 로컬 서버를 사용하면 복제 프로세스를 통해 두 개의 분기 세트를 생성하고 그 중 하나가 웹 사이트와 같은 프로젝트를 대표하도록 할 수 있습니다. 그런 다음 모든 단일 개발자의 모든 변경 사항이 기록되고 구현 전에 테스트할 수도 있는 별도의 프로덕션 분기가 있는 Git 서버를 생성할 수 있습니다. 개발 및 테스트에 대한 이러한 다층적 접근 방식은 효율성을 높일 뿐만 아니라 개발 프로세스 및 변경 사항을 매우 쉽게 추적할 수 있습니다.
병합
저장소와 변경 로그를 분기한 것을 기억하시나요? 이름에서 알 수 있듯이 병합은 해당 작업의 정반대입니다. Git의 가장 어려운 측면으로 널리 간주되는 병합에서 우리는 하나의 저장소 분기 노드의 데이터를 원래 분할되었던 마스터 저장소에 다시 삽입하려고 합니다. 이는 일반적으로 하나의 간결하고 해독하기 쉬운 저장소에 다양한 영역의 모든 프로젝트 변경 사항을 포함하는 포괄적인 프로젝트 보고서와 변경 기록이 포함된 Git 서버를 생성하기 위해 수행됩니다. 프로젝트 중에는 혼란을 방지하기 위해 분기가 필요하지만 병합은 문제 해결 중에 프로젝트가 끝날 때 작업을 반대로 하고 더 명확한 큰 그림을 제공하도록 설계되었습니다.
나만의 Git 서버 호스팅: 장점과 단점
모든 프로그램에는 프로그램을 시작하고 프로그램에서 사용하려는 사용자가 꼭 알아야 할 중요한 장단점이 있습니다. 이 섹션에서는 Git에 적용할 때의 장단점에 대해 논의하겠습니다. 그러나 이러한 장단점은 자체 호스팅하는 경우에만 Git에 적용됩니다. 이 가이드에서는 이에 대해 어느 정도 다루므로 살펴보겠습니다.
자체 호스팅 Git: 장점
제3자 개입 없음
Git 자체 호스팅을 사용하면 귀하와 귀하가 보는 사람들만이 귀하의 파일에 액세스할 수 있는 유일한 사람이 됩니다. 이는 본질적으로 원치 않는 제3자의 개입을 제거하고 마음 편하게 프로젝트를 진행할 수 있게 해줍니다. 귀하의 데이터는 훨씬 더 안전해지며 보안을 위해 염두에 둔 리소스를 다른 곳에 할당할 수 있습니다.
보안
보안에 관해 말하자면, Git은 모범 사례와 타사 도구 구현을 통해 얻을 수 있는 보안만큼 안전합니다. 보안 수준은 보안을 사용하는 대신 자체 호스팅하면 떨어지지만, 자체적으로 운영할 수 있는 보안 수준에는 거의 무한한 자유가 있습니다.
무제한 저장소
복제와 분기를 기억하시나요? Git으로 만들 수 있는 리포지토리 수에는 제한이 없습니다. 따라서 각 개발 분기에 저장소가 필요한 대규모 프로젝트에 매우 적합합니다. 이는 3D 자산과 같은 대용량 파일이 포함된 프로젝트 및 Unity로 작업하는 경우에도 탁월합니다.
자체 호스팅 Git: 단점
높은 관리 노력
Git 리포지토리는 빠르게 통제할 수 없게 될 수 있습니다. 자체 호스팅 플랫폼에서 Git 서버를 구성하기로 결정한 경우 모든 브랜치와 메타데이터를 관리하는 것이 곧 골칫거리가 될 수 있습니다. 따라서 믿을 수 없을 정도로 정확해야 하거나 숙련된 코더가 대신 수행하도록 해야 합니다.
대략적인 학습 곡선
Git을 호스팅하는 것과 이를 마스터하고 Git 로컬 서버를 실행하는 것은 전혀 다른 문제입니다. Git은 리포지토리 기반 DevOps 프로그램 중에서 가장 높은 기술 한계 중 하나를 가지고 있으며 이를 배우거나 아웃소싱하는 데 많은 시간을 소비해야 합니다.
GUI 및 Windows 지원 없음
Windows에 Git 서버를 설정하고 싶으셨나요? 아니면 GUI로 실행되도록 Git 서버를 구성하고 싶었나요? 글쎄, 당신은 운이 좋지 않습니다. Linux 커널을 기본 코드로 사용하는 OS로 제한되며 작업을 더 쉽게 만드는 데 도움이 되는 GUI가 없습니다. Git 서버와 자체 호스트를 설치하시겠습니까? 코딩 기초를 더 잘 배우세요.
오래된 방법
상상할 수 있는 모든 지표에 따르면 자체 호스팅 서버에서 Git을 사용하는 것은 구식이며 Git을 실행하는 다른 보다 효율적인 방법보다 뒤쳐진 것처럼 보입니다. 보다 효율적인 Git 실행 프로세스의 대표적인 예는 GitLab을 실행하는 것입니다. 따라서 자체 Git 서버 실행을 결정하기 전에 먼저 체크아웃하세요. GitLab 도!
Git 서버를 설치하는 데 필요한 요구 사항
이제 Git 서버를 설정하고 자체 Git 서버를 호스팅하는 데 필요한 요구 사항을 빠르게 살펴보겠습니다. Git을 호스팅하려면 Git 서버 구성 프로세스를 실행하기 위한 약간의 코딩 지식과 함께 서버와 Git 인스턴스라는 두 가지 구성 요소만 필요합니다.
힘내 서버
서버의 경우, 다른 PC를 사용하거나 기존 제공업체의 전용 서버를 사용하거나, 보다 직접적인 접근 방식을 선호하는 경우 클라우드 VPS (가상 사설 서버). VPS를 보유하면 서버를 직접 관리하는 동시에 Git 인스턴스를 운영할 수 있습니다. Git 서버를 설정하려면 서버에 Linux 배포판이 있어야 합니다. Cloudzy는 다양한 서비스를 제공합니다. 리눅스 VPS Ubuntu, Debian, CentOS, Kali, OpenSUSE 등 평판이 좋은 10개 이상의 Linux 배포판을 갖춘 서비스입니다. 한 달에 단 $4.95부터 시작하여 귀하의 위치에서 가까운 신뢰할 수 있는 Linux 서버를 확보하여 우수한 연결 품질을 보장하고 이를 사용하여 Git 서버를 자체 호스팅하고 실행할 수 있습니다!
가장 저렴한 가격으로 웹 사이트 또는 원격 데스크톱 호스팅을 위한 경제형 또는 프리미엄 Linux VPS를 구입하세요. Linux KVM에서 실행되는 VPS는 효율성을 높이고 속도를 높이기 위해 NVMe SSD 스토리지를 갖춘 강력한 하드웨어에서 작동합니다.
자세히 알아보기힘내 인스턴스
Git 서버를 설정하는 프로세스는 쉬우며 설치 프로세스의 일부로 자동으로 완료됩니다. 언급했듯이 Git은 오픈 소스이며 비용이 들지 않습니다. 이것이 Git이 다른 많은 코딩 및 개발 중심 리포지토리 기반 프로그램보다 선호되는 이유입니다. 이제 요구 사항이 있으므로 Linux 서버에 Git 서버를 설치하는 단계별 가이드로 바로 넘어가겠습니다!
Linux에 Git 서버 설치(단계별 가이드)
1단계: Git 다운로드 및 설치
Git 서버 설치 프로세스의 첫 번째 단계는 다음과 같습니다. 선택한 Linux 배포판의 터미널에서 다음 명령을 입력하여 Git 다운로드를 시작합니다.
Ubuntu/Debian 기반 배포판:
sudo apt install git
아치 기반 배포판:
sudo pacman -S git
RHEL 기반 배포판:
sudo dnf install git
이 명령은 Linux 서버에 Git을 다운로드하고 설치합니다. 프로세스가 완료될 때까지 기다리십시오.
2단계: Git 서버 등록 및 구성
다른 데스크톱에 로컬 서버가 있는 경우 부팅하고, 그렇지 않은 경우 VPS가 있는 경우 SSH 또는 RDP를 사용하여 Linux 서버에 원격으로 연결하세요. 이제 원격으로 실행되도록 Git 서버를 구성하겠습니다. 다음 명령을 사용하여 Git 계정을 생성하여 이를 수행하겠습니다.
ssh username@address
sudo useradd git
그런 다음 다음 명령을 입력하여 새로 생성된 계정으로 전환합니다.
su git
이 단계는 대부분 Git 로컬 서버의 보안을 보장하기 위해 수행됩니다. 이 계정을 사용하면 서버의 관리자가 됩니다. 사전 정의된 제한 및 액세스 수준을 사용하여 잠재적인 미래 사용자를 사용자 그룹으로 안전하게 구성할 수 있습니다.
3단계: SSH 디렉터리 생성 및 서버에 git 저장소 생성
Git 서버 설치 프로세스의 다음 단계는 전용 SSH 디렉토리를 생성하여 공개 키 추가 보안 계층과 정의된 액세스 수준을 사용하여 서버에 Git 저장소를 생성합니다. 다음 명령을 입력하여 시작하십시오.
ssh git@address
mkdir .ssh
chmod 700 .ssh/
touch .ssh/authorized_keys
이 명령줄을 사용하여 다른 사람의 액세스를 제한한 후에는 다음 줄을 입력하여 SSH 키가 안전한 폴더에 저장되었는지 확인하세요. 승인_키 폴더에 액세스할 수 있습니다. 폴더가 없는 경우에만 이 명령을 실행하세요. id_rsa.pub 파일):
cd .ssh
ssh-keygen -t rsa
cat id_rsa.pub
마지막으로 Git 로컬 서버에 대한 보안이 강화된 새 SSH 연결을 설정하기 위해 만든 SSH 공개 키를 복사합니다.
cd .ssh
vi authorized_keys
4단계: 마스터 디렉터리 생성
Linux 서버에서는 Git이 향후 프로젝트에서 사용할 모든 리포지토리를 저장하기 위해 새 디렉터리를 만들어야 합니다. Git 리포지토리 관리에 대해 자세히 알아볼 수 있습니다. 다음 명령을 입력하세요.
mkdir directory_name
5단계: 프로젝트를 추가하세요!
Git 서버를 만들었습니다! Git 서버 설치 프로세스가 성공적으로 완료되었으며 Git 서버도 성공적으로 구성했습니다. 남은 것은 다음 명령을 사용하여 추가 프로젝트를 추가하는 것입니다.
cd parent_directory
mkdir new_project.git
그런 다음 이 명령을 입력하여 로컬 컴퓨터에 원격 원본을 추가합니다.
git init --bare
git remote add origin name git@address:new_project.git
마지막으로 Git 푸시를 수행하여 모든 것이 의도한 대로 작동하는지 테스트합니다.
touch testfile
git add testfile
git commit -m "test file"
git push name master
git clone git@address:new_project.git
축하합니다. 성공적으로 git을 호스팅하고 서버에 git 저장소를 생성했습니다.
FAQ
서버 없이 Git을 호스팅할 수 있나요?
아니요. 서버의 성격이 무엇이든 서버 역할을 하려면 하드웨어가 필요합니다. GitHub를 사용하여 리포지토리의 클라우드 서버 역할을 하거나 VPS 다른 제3자 호스팅 서비스를 제공하거나 사용하여 서버 역할을 합니다.
GUI를 사용하여 Git 서버를 설치할 수 있는 방법이 있습니까?
예. Git 자체는 GUI를 지원하지 않지만 GUI 없이는 살 수 없는 사람들을 위해 "Git GUI"라는 GUI가 포함된 독립형 버전을 사용할 수 있습니다.
Git에 대한 유료 플랜이 있나요?
아니요. Git은 원래 개발자와 게시자가 반영한 대로 무료 오픈 소스 프로그램이었으며 앞으로도 그럴 것입니다. 따라서 프로그램 개발을 위한 파생 프로그램으로 프로그램을 사용할 수 있습니다. 그렇지 않은 경우 프로그램은 무료입니다.
자신만의 Git 서버를 호스팅해야 하는 이유는 무엇입니까?
제한된 리포지토리로 소규모 프로젝트를 실행하려고 한다고 가정해 보겠습니다. 이 경우 자체 호스팅이 훨씬 더 비공개적이고 안전합니다. 이것이 주된 동기입니다. 그러나 더 많은 리포지토리가 있는 더 큰 프로젝트로 이동하면 자체 호스팅의 효율성이 떨어지기 시작합니다.