Git 호스팅에 관해서는 여러 가지 옵션을 사용할 수 있습니다. GitHub, Gitlab 및 Bitbucket은 인기 있는 솔루션이지만, 사용자 자신의 Git 서버를 실행하는 것은 고려할 가치가 있는 대안입니다.
Git 서버를 설정하면 공급자의 무료 계획에 대한 제한 없이 개인 저장소를 만들 수 있습니다.
Linux에서 베어 Git 서버를 설정하는 방법에 대해 설명합니다. 이 설정은 리포지토리가 거의 없고 공동작업자가 기술에 정통한 경우에 적합합니다. 그렇지 않으면 Gitea, Gogs 또는 Gitlab과 같은 자체 호스팅된 Git 애플리케이션을 설치하는 것을 고려해야 합니다.
Git 서버는 모든 원격 Linux 시스템 또는 로컬 시스템에 설정할 수 있습니다.
Git 서버를 설정
첫 번째 단계는 서버에 Git을 설치하는 것입니다.
Debian 또는 Ubuntu를 사용하는 경우 다음 명령을 sudo 사용자로 실행하여 로컬 패키지 인덱스를 새로 고치고 git을 설치하십시오.
sudo apt update && sudo apt install git
센트에 Git 패키지를 설치하려면 다음과 같이 하십시오.OS 서버 유형은 다음과 같습니다.
sudo yum install git
그런 다음 Git 저장소를 관리할 새 사용자를 만듭니다.
sudo useradd -r -m -U -d /home/git -s /bin/bash git
사용자 홈 디렉토리는 /home/git으로 설정됩니다. 모든 리포지토리가 이 디렉토리 아래에 저장됩니다. 사용자 "git"에 대한 암호를 설정하지 않았습니다. 로그인은 ssh 키를 통해서만 가능합니다.
su 명령을 사용하여 사용자 "git"로 전환합니다.
sudo su - git
다음 명령을 실행하여 SSH 디렉토리를 만들고 올바른 사용 권한을 설정합니다.
mkdir -p ~/.ssh && chmod 0700 ~/.ssh
인증된 사용자의 SSH 키를 저장할 ~/.ssh/authorized_keys 파일을 만듭니다.
touch ~/.ssh/authorized_keys && chmod 0600 ~/.ssh/authorized_keys
서버 설정이 완료되었습니다. 이제 첫 Git 저장소를 만들 준비가 되었습니다.
다음 명령을 실행하여 새 빈 저장소를 시작합니다.
git init --bare ~/projectname.git
디렉토리 이름을 원하는 대로 지정할 수 있습니다. 중요한 것은 "git" 사용자 홈 디렉토리 아래에 저장소를 만드는 것입니다.
# Initialized empty Git repository in /home/git/projectname.git/
로컬 Git 저장소를 구성
로컬 Git 변경 사항을 Git 서버에 푸시하려면 원격 "git" 사용자의 인증된_keys 파일에 로컬 사용자 SSH 공개 키를 추가해야 합니다.
로컬 시스템에 SSH 키 쌍을 이미 만든 경우 다음을 입력하여 공개 키를 표시할 수 있습니다.
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dz
해당 파일 또는 디렉터리가 없다는 오류 메시지가 표시되면 로컬 시스템에서 SSH 키 쌍이 생성되지 않은 것입니다.
새 SSH 키 쌍을 생성하려면 다음 명령을 사용합니다.
ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"
위의 cat 명령에서 출력을 복사하고 Git 서버 콘솔로 돌아갑니다.
서버에서 텍스트 편집기를 열고 로컬 컴퓨터에서 복사한 공용 키를 ~//ssh/authorized_keys 파일에 붙여넣습니다.
sudo nano /home/git/.ssh/authorized_keys
전체 공개 키 텍스트는 한 줄에 있어야 합니다.
우리는 Git 패키지가 이미 당신의 로컬 컴퓨터에 설치되어 있다고 가정하고 있습니다. 그렇지 않은 경우, 이전 절에서 설명한 것과 같은 방법으로 설치합니다.
기존 미버전 프로젝트가 있는 경우 프로젝트 디렉터리로 이동합니다. 처음부터 시작하는 경우 프로젝트 디렉토리를 만들고 다음 항목으로 이동합니다.
cd /path/to/local/project
Git 저장소를 초기화합니다.
git init .
마지막 단계는 로컬 저장소에 Git 원격을 추가하는 것입니다.
git remote add origin git@git_server_ip:projectname.git
Git_server_ip을 Git 서버 호스트 이름 또는 IP 주소로 바꾸는 것을 잊지 마십시오.
모든 것이 올바르게 설정되어 있는지 확인하려면 다음 테스트 파일을 만드십시오.
touch test_file
스테이징 영역에 변경 사항을 추가합니다.
git add .
변경 사항을 커밋합니다.
git commit -m "descriptive message"
로컬 리포지토리 변경 사항을 원격 리포지토리에 푸시합니다.
git push -u origin master
모든 것이 올바르게 설정된 경우 출력은 다음과 같아야 합니다.
# Counting objects: 3, done.
# Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.
# Total 3 (delta 0), reused 0 (delta 0)
# To git_server_ip:projectname.git
# * [new branch] master -> master
# Branch 'master' set up to track remote branch 'master' from 'origin'.
동일한 단계를 사용하여 새 저장소를 만들 수 있습니다. Git 원격을 로컬 리포지토리에 추가하려면 먼저 원격 리포지토리가 있어야 합니다.
개인 Git 서버를 설정하고 저장소를 만드는 방법을 보여드렸습니다.
'SW > 리눅스' 카테고리의 다른 글
Linux : Bash Scripts에 주석 작성 방법, 예제, 명령어 (0) | 2022.03.13 |
---|---|
Linux : CentOS 8 : Java 설치 방법, 예제, 명령어 (0) | 2022.03.12 |
Linux : Debian : exFAT Drive 마운트 방법, 예제, 명령어 (0) | 2022.03.10 |
Nginx : HTTP에서 HTTPS 로 리다이렉션 방법, 예제, 명령어 (0) | 2022.03.09 |
Linux : Debian 10 : MySQL (MariaDB) 마스터-슬레이브 복제 설정 방법, 예제, 명령어 (0) | 2022.03.08 |