WEB개발이야기/Git 2022. 2. 11.
error: RPC failed; curl 18 transfer closed with outstanding read data remaining이
git을 이용하여 Clone 하는 도중.. error: RPC failed; curl 18 transfer closed with outstanding read data remaining 에러가 발생했다면 이렇게 한번 해보세요.문제 원인error: RPC failed; curl 18 transfer closed with outstanding read data remaining를 해석해 보면 미해결 읽기 데이터가 남아 있는 상태에서 curl 18 전송이 종료되었습니다. 라는 뜻이네요.문제의 원인은 네트워크의 문제로 인해 연결이 끊기고 git clone 종료된 상황이라고 합니다. 보통 네트워크 상황이 좋지 않고 대량의 파일을 Clone 할 때 발생할 수 있다고 합니다.해결 방안한 번에 모든 파일을 git cl..
WEB개발이야기/Git 2021. 1. 7.
Git 레파지토리 별로 사용자 지정하기
하나의 PC에서 여러 군데의 Git 레파지토리를 운영할 때 레파지토리 별로 사용자 이름과 이메일을 달리 사용해야 하는 경우가 있습니다. 보통은 글로벌하게 설정하여 사용하기 때문에 모든 레파지토리에서 커밋과 푸시를 하게 되면 동일한 이름이 사용되게 되어 있습니다. 모든 레파지토리에 글로벌하게 적용아마도 대부분 글로벌하게 적용하는 이 방법은 아시리라 생각됩니다. $ git config --global user.name "이름 1" $ git config --global user.email "이메일주소 1"하나의 레파지토리에만 적용하지만 하나의 레파지토리에만 다른 이름과 이메일을 적용하는 방법은 잘 모르시는 경우가 있습니다. 바로 --global 을 --local로만 변경해 주면 됩니다. 원하는 레파지토리의 ..
WEB개발이야기/Git 2020. 5. 15.
오픈소스인 Gitlab의 가격정책(라이선스 정책)
Gitlab은 설치형 GIt서버로 상당히 유명하고 유용한 도구입니다. Gitlab의 CE(Community Edition)는 오픈소스로 무료로 사용할 수 있지만 EE(Enterprise Edition)는 유료로 구매를 해야 사용할 수 있습니다. Gitlab홈페이지에 접속해 보면 모든 것이 영어로 되어 있어서 한쿡인이 보면 뭐가 뭔지 이해하기 쉽지 않을 것 같아 간단하고 쉽게 전체적인 설명을 요약을 해 볼까 합니다. Gitlab은 서비스형이야? 아니면 설치형이야?처음 Gitlab 홈페이지에 접속을 하면 프로그램 Download 버튼부터 찾는데, Download 버튼을 클릭해서 들어가 보면 이걸 다운로드 하라는 건지 회원가입을 하라는 건지 헛갈리게 되어 있습니다. 다운로드 화면에 접속을 하면 정말 우리를 실..
WEB개발이야기/Git 2020. 5. 11.
gitlab DATA 저장폴더(git-data)를 다른 위치로 변경하는 방법
Gitlab 서버를 설치하고 바로 DATA저장소 위치를 적절한 곳으로 설정한다면 아주 간단한 문제입니다. 그냥 gitlab.rb에서 git_data_dirs({"default" => { "path" => "/var/opt/gitlab/git-data" }})의 위치만 변경해 주면 되기 때문입니다. 하지만… 큰 문제는 미처 DATA저장소 위치를 변경하지 않고 운영을 하던 중 늦게 실수를 깨닫게 된 경우 입니다. "지금까지 열심히 쌓여있는 DATA는 어떻게 되는거지!!! 아!! 어떡하지.. 어떡하지…"이런 탄식이 절로 나옵니다. 제가 그랬으닌까요 ㅠㅠ저는 불행히도 에러를 만나고서야 무언가 잘못되었다는 것을 알게 되었습니다. 클라우드를 사용하고 있었는데 시스템이 설치되어 있는 작은 용량의 드라이브에 많은 데이..
WEB개발이야기/Git 2020. 5. 7.
gitlab에서 push오류가 발생할 때 해결하는 방법
gitlab을 사용하다가 회원의 권한을 Developer로 설정했음에도 불구하고 push할 때 git did not exit cleanly (exit code 1)와 같은 오류 메시지를 내뱉을 때가 있습니다. 순간 당황하겠지만 아래의 내용을 보시면 한줄기 빛과 같은 희망을 만날 수 있습니다. gitlab의 권한체계를 보면 Guest, Reporter, Developer, Maintainer, Owner* 의 5개 권한을 운영하고 있고 push는 보통 Developer, Maintainer, Owner*의 권한에 대해서 가능합니다. 그러나 프로젝트에 따라 Developer도 안되는 경우가 있는데 아래의 설정으로 해결을 할 수 있습니다. 프로젝트 Push 설정 설정 > 저장소를 선택합니다. Protected..
WEB개발이야기/Git 2020. 3. 12.
Git Flow 개념 이해하기
Git으로 협업을 하는 것이 매우 좋다라고는 알고 있으나 실제로 서로 다른 그 사람들이 어떻게 각자 작성한 코드를 합치고 배포하는지가 궁금해 졌습니다. Git-flow 이해하기 Git-flow는 Git이 새롭게 활성화되기 시작하는 10년전 쯤에 Vincent Driessen이라는 사람의 블로그 글에 의해 널리 퍼지기 시작했고 현재는 Git으로 개발할 때 거의 표준과 같이 사용되는 방법론입니다. 말하자면 Git-flow는 기능이 아니고 서로간의 약속인 방법론이라는 점입니다. Vincent Driessen도 언급했듯이 Git-flow가 완벽한 방법론은 아니고 각자 개발 환경에 따라 수정하고 변형해서 사용하라고 언급했습니다. Git-flow는 총 5가지의 브랜치를 사용해서 운영을 합니다. master : 기준..
WEB개발이야기/Git 2020. 3. 11.
그림으로 보는 Git의 개념 이해하기
Git은 Svn 이후로 현재 가장 많이 사용되어지는 형상관리 툴입니다. 위키백과를 보면 아래와 같이 정의를 하고 있습니다. 깃(Git /ɡɪt/)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다. 위키백과 참조 처음 Git을 접할 때 그 개념을 이해하는데 어려움이 많습니다. 그래서 간단하게 기초적인 이해를 그림으로 설명해 볼까 합니다...
WEB개발이야기/Git 2020. 3. 10.
Git GUI 소스트리(SourceTree) 설치방법과 사용방법
멋찐 개발자 같은 경우 검정 화면에 하얀색 글씨로 타이핑을 치며 Git 명령어를 실행시킬텐데요. 그게 멋지긴 하지만 편한 형태는 아닙니다. Git을 좀더 편하게 사용하기 위해서는 Git GUI(Graphic User Interface)를 사용하는 것입니다. Git GUI 중 대표적인 툴이 바로 소스트리(SourceTree) 입니다. SourceTree 설치하기 먼저 소스트리(SourceTree) 홈페이지에 접속합니다. 소스트리(SourceTree) 홈페이지 바로가기 홈페이지에 접속을 하면 다운로드를 받을 수 있는 버튼이 보입니다. 소스트리는 윈도우즈와 Mac OS를 지원하고 있으므로 원하는 시스템의 파일을 다운로드 받으면 됩니다. 다운받은 설치파일을 실행시킵니다. 설치는 아무나 할 수 있는 것은 아니고 ..
WEB개발이야기/Git 2020. 3. 4.
Git으로 프로젝트 개발 할 때 작업 순서
Git으로 형상관리를 하며 작업을 할 때 여러가지 방법과 기능이 있지만 보편적으로 사용하는 순서에 대해서 포스팅하겠습니다. Git에 관한 기타 다른 정보는 해당 카테고리를 찾아 보시면 됩니다. Git 카테고리 바로가기 순서 순서는 사람마다 조금씩 다르긴 하지만 제가 주로 사용하는 방법은 아래와 같습니다. 한번만 하는 명령어 GitLab(또는 Github) 사이트에 프로젝트 저장소 만들기 Git 사용 선언 또는 원격 저장소에서 Clone 해오기 ( git init 또는 git clone ) 내 로컬PC와 원격 저장소 간 링크 연결하기 ( git remote ) 반복적으로 하는 명령어 코딩 작업하기 코딩 파일 중 내가 관리하고 싶은 파일로 선정하기 ( git add ) 기능 별 선정한 파일을 한 묶음으로 만..
WEB개발이야기/Git 2020. 2. 26.
[Gitlab Error] you are not allowed to push code to protected branches on this project 에러
Gitlab을 설치하고 혼자만 사용할 때는 없던 문제였는데 여러 명과 같이 사용하게 되면서 발생한 에러가 있습니다. Clone, Pull, Commit까지는 모두 문제없이 사용이 가능한데.. Push로 서버에 올릴려면 에러가 발생하는 경우 였습니다. 문제 발생 이런 화면이 나오면서 you are not allowed to push code to protected branches on this project 메시지를 토해 냅니다. 문제 원인 문제의 원인은 이 저장소의 해당 브런치에 업로드(Push)를 할 수 있는 권한이 없다. 라는 뜻입니다. 다시 말하면 권한의 문제 입니다. 혼자 사용 할 경우는 본인이 Owner이기 때문에 문제없이 Push가 되지만 새로 생성된 사용자인 경우는 대부분 권한이 Guest,..
WEB개발이야기/Git 2020. 2. 6.
Git 최초 사용 시 내 로컬 PC에 반드시 해야 할 사전 작업
Git server는 누군가(관리자)가 설치했고 사용자 입장에서 Git을 처음 사용한다고 했을 때 내 로컬 PC에 설치하거나 숙지해야 할 사항에 대한 내용입니다. 내가 참여하고 있는 프로젝트에서 Git으로 버전관리 한다고 하면 어떤 것을 어떻게 해야할지 난감한 사람이 있을 것입니다. 그런 Git에 대해 생판 모르는 초보자들을 위한 글이다 생각하시면 될것 같습니다. 깃(Git /ɡɪt/)은 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서..
WEB개발이야기/Git 2020. 1. 29.
gitlab에서 한국어 설정 방법
Gitlab은 기본으로 영어로 보여집니다. 서비스형 gitlab.com도 설치형 gitlab도 모두 그렇습니다. gitlab는 멀티랭귀지를 지원하기 때문에 한글로 쉽게 설정 할 수 있는데요. 그 설정하는 위치가 알고 나면 쉽지만 모르면 참 찾기 어려운 곳에 있습니다. 설치형 gitlab과 서비스형 gitlab 모두 동일한 방법으로 변경할 수 있습니다. 멀티랭귀지는 사용자 개별로 지원된다. 일단 이 개념부터 가져야 합니다. 저는 설치형 gitlab서버를 설치하면서 고생을 하며 알게 된 건데 당연히 서버 전체에 대해서 한글로 바꾸려고 계속 gitlab의 서버 설정(Admin Area)만 찾고 있었습니다. 하지만 서버는 기본적으로 "거의 대부분의 언어를 지원한다".이고, 가입한 회원이 "난 한국어를 쓸거야"~..
WEB개발이야기/Git 2020. 1. 28.
CentOS7에 gitlab ce 설치하기
리눅스 서버로 많이 사용하는 CentOS 7에 gitlab을 설치하는 방법을 Posting하려고 합니다. 먼저 공식 사이트에서 제공하고 있는 설치방법을 따르는 것을 권장합니다. 저는 그 가이드를 따라 설치하면서 주의해야 할 점이나 기억해야 할 점에 대해서 주로 작성하려고 합니다. 공식 사이트의 설치가이드는 아래의 URL을 참조하세요. 주의 할 점은 무료 버전인 ce(Community Edition)을 찾아서 설치해야 라이선스의 찜찜함 없이 설치할 수 있습니다. 그냥 공식사이트에서 설치가이드를 따라 설치하면 ee(Enterprise Edition)의 가이드를 먼저 보여주기 때문에 영어 울렁증이 있는 사람은 나도 모르게 ee버전을 설치하게 되어 있습니다. ce(Community Edition) 설치가이드 :..
IT이야기/시놀로지 2018. 7. 22.
시놀로지 도커에 설치된 gitlab의 502 에러 해결하기
이전에 GitLab을 설치하는 포스팅을 했었습니다. 시놀로지에 gitlab 완벽 설치하기 저 같은 경우는 설치를 하고 GitLab에 접속을 하면 502 에러가 발생을 했습니다. ▲ 설치는 정상적으로 완료했으나 놀리듯이 커다란 글자로 502 화면이 보여집니다. 무슨 이유로 이런 에러가 나는 지는 정확히 알 수는 없으나 Docker로 설치되는것 때문이 아닌가 추측만 해 봅니다. 불행하게도 위의 문제를 해결하기 위해서는 터미널에 접속해서 CLI로 타자를 쳐서 해결해야 합니다. ▲ SSH로 시놀로지 나스에 접속을 해야 하기 때문에 SSH를 잠깐 오픈을 해줘야 합니다. 제어판 > 터미널 및 SNMP로 접속을 해서 SSH 서비스 활성화를 시켜야 합니다. 또한 포트도 기본 22번 포트이지만 자신에게 맞게 수정해서 설..