[Git] 로컬 환경의 프로젝트를 GitLab 서버에서 관리하는 방법.
2024. 9. 10. 11:46ㆍTool/git
728x90
728x90
Local Server 정보.
$ hostnamectl
...
Operating System: Red Hat Enterprise Linux 8.10 (Ootpa)
CPE OS Name: cpe:/o:redhat:enterprise_linux:8::baseos
Kernel: Linux 4.18.0-425.13.1.el8_7.x86_64
...
GitLab Server 에서 프로젝트 생성.
Local Server 에서 SSH 키 생성.
$ ssh-keygen -t rsa -b 4096 -C "gunwoo_park@tmaxsoft.com"
생성한 키 출력.
$ cat ~/.ssh/id_rsa.pub
GitLab Server 에서 출력한 SSH 키 등록.
Local Server 작업 내역.
Git 설치.
$ sudo yum install git
설치 확인.
$ git --version
git version 2.43.5
Git 사용자 정보 설정.
$ git config --global user.name "gunwoo"
$ git config --global user.email "gunwoo_park@tmaxsoft.com"
GitLab 원격 저장소 추가.
$ git remote add origin http://192.168.51.106/gunwoo_park/alt_installer.git
로컬 서버의 프로젝트 경로로 이동.
$ cd $GITLAB_PROJECT_PATH
현재 디렉토리를 Git 저장소로 초기화.
$ git init
현재 디렉토리의 모든 파일과 변경 사항을 스테이징 영역에 추가.
- 스테이징 영역은 커밋을 하기 전에 어떤 파일이 저장될지 선택하는 공간.
$ git add .
스테이징 영역에 있는 변경 사항을 커밋(저장).
- 커밋은 특정 시점의 파일 상태를 로컬 저장소에 저장하는 것.
$ git commit -m "Initial commit"
로컬 저장소에서 커밋한 변경 사항을 원격 저장소(origin)의 브랜치(master)에 푸시(업로드).
$ git push -u origin master
GitLab Server 에서 푸시한 프로젝트 확인.
로컬 저장소에서 원격 저장소로 푸시할 때, 아래와 같은 에러가 발생.
$ git push -u origin master
(gnome-ssh-askpass:3355269): Gtk-WARNING **: 17:36:50.273: cannot open display:
error: unable to read askpass response from '/usr/libexec/openssh/gnome-ssh-askpass'
해결 방법.
- Git이 SSH 인증을 위해 gnome-ssh-askpass 프로그램을 실행하는데, CLI 환경에서는 해당 프로그램(GUI)이 실행되지 않기 때문에 발생함.
- SSH 에이전트에 SSH 키를 추가하여 해결할 수 있음.
$ eval "$(ssh-agent -s)"
Agent pid 3355296
$ ssh-add ~/.ssh/id_rsa
Identity added: /home/gunwoo/.ssh/id_rsa (gunwoo_park@tmaxsoft.com)
$ git push -u origin master
...
* [new branch] master -> master
branch 'master' set up to track 'origin/master'.
...
728x90
728x90
'Tool > git' 카테고리의 다른 글
[git] git 개념 정리. (0) | 2023.08.01 |
---|---|
[git] push / pull할 때, "fatal: refusing to merge unrelated histories" 에러 해결 방법. (0) | 2023.02.09 |