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) 서버에 방화벽(firewall)을 활용하여 특정 IP만 접근하게 하는 방법
회사 내부용으로 리눅스 서버로 돌릴 경우 특정사용자만 해당 서버에 접근 하도록 해야 할 필요가 있습니다. 여러가지 방법이 있겠지만 가장 간단한 방법은 방화벽으로 특정 IP외에는 모두 막아버리는 방법이 있습니다. Firewall을 설치하고 설정하는 방법을 간단히 기록해 두려고 합니다. Firewall 상태 확인하기 현재 firewall이 구동되고 있는지 죽어있는지 먼저 확인 합니다. firewall-cmd --state 현재 실행 중이면 running, 실행 중이 아니면 not running을 출력합니다. 시스템(CentOS) firewall 설치 보통 리눅스도 기본적으로 Firewall은 설치가 되서 나오기는 하지만 간혹 설치가 되어있지 않은 경우도 있습니다. 이렇때 firewall을 설치하는 방법입니다..
WEB개발이야기/Git 2020. 1. 28.
CentOS7에 gitlab ce 설치하기
리눅스 서버로 많이 사용하는 CentOS 7에 gitlab을 설치하는 방법을 Posting하려고 합니다. 먼저 공식 사이트에서 제공하고 있는 설치방법을 따르는 것을 권장합니다. 저는 그 가이드를 따라 설치하면서 주의해야 할 점이나 기억해야 할 점에 대해서 주로 작성하려고 합니다. 공식 사이트의 설치가이드는 아래의 URL을 참조하세요. 주의 할 점은 무료 버전인 ce(Community Edition)을 찾아서 설치해야 라이선스의 찜찜함 없이 설치할 수 있습니다. 그냥 공식사이트에서 설치가이드를 따라 설치하면 ee(Enterprise Edition)의 가이드를 먼저 보여주기 때문에 영어 울렁증이 있는 사람은 나도 모르게 ee버전을 설치하게 되어 있습니다. ce(Community Edition) 설치가이드 :..
WEB개발이야기/Git 2018. 7. 10.
git사용법과 명령어
git은 개발자에게는 없어서는 안될 버전관리시스템입니다. SVN이 중앙집중식 버전관리 시스템이라면 git은 분산 버전관리 시스템이라 할 수 있습니다. 경우에 따라 다르겠지만 예전에는 SVN을 많이 사용하던것을 현재는 분산 버전관리 시스템이 git으로 많이 넘어온 상태입니다. 로컬컴퓨터에서만 사용할 경우에는 git만 설치하여 사용하면 되지만 원격저장소를 통해서 여러사람과 사용하기 위해서는 git서버가 있어야 합니다. git서버로 대표적인 사이트는 우리가 흔히 알고 있는 github가 있고 gitlab, Bitbucket 등이 있습니다. 물론 네트워크내의 컴퓨터 한대를 이용하여 서버를 구축하여 사용할 수도 있습니다. 서비스명 설명 URL GITHUB 무료로 사용 가능하나 소스가 공개됨 https://www...
WEB개발이야기/Git 2018. 7. 10.
git이란 무엇인가?
git은 개발자에게는 없어서는 안될 버전관리시스템입니다. SVN이 중앙집중식 버전관리 시스템이라면 git은 분산 버전관리 시스템이라 할 수 있습니다. 이번 포스팅에서는 git에 대한 전체적인 개념에 대해서 작성하려고 합니다. 버전관리시스템이란? https://git-scm.com/book/ko/v2를 찾아보면… 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. 라고 정의를 하고 있습니다. 소스코드뿐만이 아니라 그래픽 파일까지도 버전관리를 할 수 있다고 합니다. 저장소(레파지토리)라고 하는 데이터베이스에 파일의 변경내용을 지속적으로 기록하고 복구할 수 있도록 도와주는 시스템을 말합니다. 중앙집중식 버전관리 시스템과 분산 버전관리 시스템의 차..
WEB개발이야기/Git 2018. 7. 10.
gogs로 시놀로지의 Git Server을 Github처럼 사용하는 방법
시놀로지에는 기본 패키지로 Git Server가 있습니다. 이것을 설치하고 실행을 하려면 SSH나 Telnet로 접속을 해서 CLI 명령어를 키보드로 쳐 줘야 사용할 수 있습니다. 하지만 이것에 추가로 Git Server를 Web 서비스 형태로 다룰 수 있게 해주는 추가 패키지를 설치하면 Github처럼 Web화면에서 서버를 서비스 할 수 있게 됩니다. Git Server를 Web 형식으로 다룰 수 있는 무료 소스는 여러가지가 있으나 그중에 가장 많은 추천을 받고 있고, 시놀로지용 패키지인 .spk를 제공하고 있는 Gogs를 설치하여 사용하는 방법을 포스팅하려고 합니다. 설치형 무료 Git 서비스 서비스명 설명 URL Bonobo Git Server 설치형 git서비스 (Win) https://bonob..