본문 바로가기

git

[GitLab] Server-Side Hook 스크립트(pre-receive) 활용 개요 GitLab 을 위한 Custom Hook은 다음의 3 가지 중 하나로 구현된다(Community Edition 기준). pre-receive: Git 서버가 클라이언트로부터 Push 요청을 받은 즉시 수행되며, 스크립트에서 non-zero 값을 return 하면 Push 요청은 reject 된다. Push 요청에 대한 값은 스크립트 내에서 stdin 스트림 값을 읽어서 사용 가능하다update: pre-receive 와 유사하지만, pre-receive 는 한 번의 Push에 대해 단 한 번 수행되며, update는 각각의 Branch 마다 triggering 되는 점이 다르다. 따라서 여러 Branch에 Push 를 수행하게 되면 특정한 브랜치에 대해서만 reject 되게 처리되게 하고 싶을 떄.. 더보기
[Mac/Xcode] git repository 와 연동해서 코딩하기 Mac OSX 에는 Xcode 라는 좋은 무료 개발도구가 있다. 물론 Mac 에서도 CodeLite, CodeBlocks 와 같은 잘 알려진 오픈소스 개발도구를 쓸 수 있지만, Codeblocks 는 Mac OSX 에서의 안정성이 떨어지는 감이 있고 CodeLite 는 Mac 에서 command-line 프로그램 개발 시 iostream 의 cin 을 제대로 처리 못하는 등 조금씩 문제를 안고 있기 때문에 쓰다 보면 불편함이 쌓이게 되고, 그러다 보니 Apple 에서 Mac 을 가장 잘 지원해 주(는 것으로 믿고 싶은...)는 Xcode 같은 Native app으로 다시 돌아가곤 한다. 이번 글에서는 Xcode 로 C++, Objective-C, Swift 와 같은 언어를 사용한 개발에 있어서, 협업 개.. 더보기
[GIT TIP] git 서버인 AWS EC2 VM의 주소가 바뀌었을 때 개인용 wiki 사이트, git 서버용으로 쓰던 Amazon EC2 vm에 고정 ip인 소위 Elastic IP를 물리고 인터넷 도메인(doubleshot.io)을 할당해서 쓰고 있다. git 서버의 접속 주소가 바뀌었으니 당연히 그에 맞게 git 의 remote 설정을 바꿔야 해서, 그 과정을 샘플 노트 형태로 작성해 둔다. * git repository 에 해당하는 디렉토리(MyCppProjects)로 이동하여 변경 이전의 접속 주소를 "git remote" 로 확인* 접속 방식은 기존 pem 인증키를 이용한 ssh 방식이므로 .git/config 파일의 접속주소 중 도메인 부분을 새로운 도메인(doubleshot.io)으로 교체하고 저장✔ ~/MyCppProjects [master L|✔] 22:1.. 더보기
[Git Tip] git를 위한 GUI browser, ungit 설치와 node.js 소스 빌드 ungit은 git 사용자를 위한 유용한 GUI 브라우저이다. ungit 은 node.js 상에서 동작하므로 이참에 node.js 를 source로부터 build하고 ungit 을 설치하는 과정을 메모해 둔다. 1. tarball 소스로부터 node.js 빌드 & 설치 bryan@bryan-laptop1:~/Downloads$ wget https://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gzbryan@bryan-laptop1:~/Downloads$ sudo apt-get install build-essential python-devbryan@bryan-laptop1:~/Downloads$ tar xvzf node-v0.12.7.tar.gzbryan@bryan-lapto.. 더보기
[Git Tip] Git Branch와 상태를 보여주는 Linux Prompt(bash-git-prompt) 지난 번 Git 을 위한 Linux Prompt 변경 내용에 추가하여, Github.com 프로젝트 중에서 쓸만 한 것이 있어서 소개해 두도록 한다. 단순히 Branch 명을 보여 주는 것에서 벗어나서 브랜치의 자세한 상태까지 Prompt 에서 보여 주므로 아주 실속 있는 Git용 프람프트 유틸리티가 아닐까 한다. 설치 과정도 아주 간단하여 쉽게 적용해 볼 수 있다. * 적용 대상: Bash를 사용하는 Linux 또는 Mac * 설치 방법: https://github.com/magicmonty/bash-git-prompt 에 있는 내용 참조 * 설치 과정(Ubuntu 14.04, Bash 사용)bryan@bryan-XenPC:~$ cd ~ bryan@bryan-XenPC:~$ git clone https.. 더보기
[Git Tip] Git 브랜치를 보여주는 Linux 프람프트(prompt) - Ubuntu 14.04, bash 기준 Git을 사용하는 방식은 명령형(커맨드라인; Command line; 또는 터미널 방식) 이거나 GUI Client 형(Mac, Windows)이거나 둘 중 하나일 것이다. Git의 내부 메커니즘을 알기 위해서이기도 하지만 커맨드라인 방식이 익숙해 지면 훨씬 수월해 지는 경우가 많은 듯 하다. 이 때 어쩔 수 없이 git status 를 쳐서 현재 어떤 브랜치에서 작업중인지를 수시로 확인해야 하는데, Linux 의 프람프트를 개조해서 사용하면 편리한 점이 많으므로 그 방법을 정리한다. "Git 은 브랜치로 시작해서 브랜치로 울고 웃다가 브랜치로 끝난다" - Barracuda - * 준비물: github 에서 공개된 아래의 스크립트를 계정의 Home에 내려 받아 둔다* git-prompt.sh 는 Bash.. 더보기
[Git Tip] Git에 대한 궁금증들 Git 을 다루는 엔지니어들이 점점 늘고 있다. 한글 입력상태에서 자판으로 git을 치면 '햣' 이 된다, 햣~! 너도 나도 써야한다라고 하니, 이게 마치 무슨 대세가 된 건 아닌가 착각도 하게 되는데, 막상 써보려니 손에 익고 간편한 cvs, svn 과는 비슷하면서도 뭔가 좀 다르고 어렵기도 하다. 근데, 간편안내서 같은 곳을 보면 "어렵지 않아요 ;)" 하면서 사람을 막 꼬드긴다(가서 보면 더 너무 쉽게 써놔서 더 아리송하다). 그게 대체 뭐길래...하면서 약도 좀 오르고 궁금하기도 하다. 이제, 하나 하나 따져가면서 왜 그런가 고민하고 정리해 두는 버릇이 있는 필자가 git을 한 번 다루어 보려 한다. Git을 써야 하는 이유 결론부터 간단히 말하자면, Git 은 약간의 개념공부와 실습이 필요한 T.. 더보기
[Git Tip] AWS EC2 VM을 이용한 Git 서버설정과 git 기본 사용법 git(깃) 서버를 Amazon EC2 인스턴스에 설치하고, Repo를 운영 관리하는 기초과정 정리 * 준비해야 할 것들 - 서버: AWS EC2 t2.micro, ubuntu 14.4, 접속주소: ec2-xx.amazonaws.com - 클라이언트: Ubuntu 14.4 PC, EC2 vm ssh 접속을 위한 보안 키파일(여기서는 AWSKP_as1.pem) EC2 vm측, git 서버 설치 과정 * 필수 패키지 설치root@aws-ubt14-as01:~# apt-get install git-coreroot@aws-ubt14-as01:~# apt-get install openssh-server * linux 계정(=gituser) 추가, 권한 설정 및 key pair 생성* 이 방법은 git 계정을 공용.. 더보기