안녕하세요 레인레테입니다.

git 을 위한 기본 설정

이 문서는 git을 사용해서 프로젝트 관리하는 것에 대한 문서입니다.

git의 기본 개념인 push, pull, commit, branch 등은 아주 간단하게만 언급합니다.
또한 windows에서의 실행을 전제로 합니다.
프로젝트 멤버가 1명인 경우를 전제하니까 복잡한 부분은 설명하지 않아요.

git ?

git은 소스를 관리하기 위한 시스템이에요.
여러번 수정이 있을 경우 그 기록을 따라갈 수 있는 거죠.

포터블 git 다운로드

개인적으로 포터블 버전을 좋아하므로 포터블로 깔았어요.

https://git-scm.com/download/win 에서 다운로드.
PortableGit-2.6.3-64-bit.7z.exe 실행
설치가 있기는 한데 그냥 압축만 푸는 거라 큰 관계는 없어요.

git 콘솔 실행

우선 Ctrl + R 키를 누른 후 cmd 라고 쳐서 도스창으로 들어가요.
그리고 포터블 git이 있는 디렉토리에 가서

git-cmd.exe   

명령어를 치면 되요.
뭐라고 막 글자가 나오면 성공이에요.
이제부터 dos 콘솔은 git 콘솔 상태가 되요.

github 나 bitbucket 가입

githubbitbucket 에 가입해서 무료 계정을 따요.
참고로 github는 공개용 프로젝트에 대해서만 무료. bitbucket은 비공개용 프로젝트에 대해서도 5인까지는 무료에요.
다만 github가 bitbucket에 비해 훨씬 유저풀이 두꺼우므로 공개용 프로젝트라면 github 를 , 개인용으로 쓰시려면 bitbucket을 쓰면 됩니다.

첫번째 repository 생성

repository는 저장소라고 불리며 하나의 프로젝트 단위를 의미해요.
https://github.com/new 에서 만들면 되고요.

repository name
Description 입력
public 선택
Initialize this repository with a README
체크하면 readme 문서와 함께 첫번째 푸시가 올라가요.

초기화

우선 프로젝트에 쓰일 폴더를 만들어요.
그리고 git 콘솔로 프로젝트에 쓰일 폴더로 이동해요.

cd [프로젝트 폴더]  

이렇게요.

이제 초기화할까요?

git init   

이라고 하시면 되요. 쉽죠?
이 과정은 프로젝트 시작시에 한번만 하면 되요.

clone

clone 은 git 을 통채로 내려받는 것을 뜻해요.
우리는 이미 repository를 만들 때 첫번째 푸시를 했으므로 프로젝트를 가져와봐요.
git 콘솔에서

git clone "[저장소 주소]"  

하면 됩니다.
직관적이죠?

저장소 주소는 github를 사용할 경우 https://github.com/[사용자이름]/저장소이름.git 이 되요.
잘 모르겠으면 github의 저장소 페이지에 보면 바로 복사할 수 있는 칸이 보이니 복사에 붙여넣으시면 되요.

pull

pull 은 git 저장소에서 내려받는 것을 의미해요.
clone 하고 다른 점은, pull은 변경사항을 내려받는 것이고, clone은 모든 프로젝트의 사항을 통채로 내려받는다는 거에요.

git pull   

자 이제 아무꺼나 변경해봐요.

프로젝트 페이지 안에서 뭔가를 변경해봐요.
파일을 추가해도 좋고 기존 파일을 변경해도 되요.

commit

git에서 커밋은 변경사항을 내 컴퓨터 에 저장한다는 의미에요.
우선 변경사항을 추가할께요.

git add *.*  

모든 변경사항을 추가하겠다는 뜻이에요.

이제 커밋을 해요.

git commit -m "[메세지]"  

만약에 여기서-m 메세지 부분을 안적어주면 뜬금없이 vim이 뜨면서 사람을 당황스럽게 할테니 꼭 넣어주세요.

push

push는 마지막으로 커밋한 사항을 git repository 에 올리겠다는 뜻이에요.
push가 안되면 서버에 변경사항이 저장되지 않아요.

git push origin master  

여기서 origin하고 master는 각각 리모트 저장소와 브랜치를 의미해요.
혼자 쓸때는 큰 의미는 없으니까 그냥 카피 앤 페이스트 신공을 발휘해요.

우리가 뭔가 변경때마다 해야 할 일.

pull -> commit -> push

아이디와 비밀번호 저장하기

git 콘솔에서

git config credential.helper store   

라고 한 다음 한번만 push나 pull 등 서버에 접속하면서 아이디 비밀번호를 적어놓으면 그걸 기억하고 있어요.

git으로 관리하지 않을 파일 목록 만들기

git에서는 올라가면 안되는 파일들이 있을 꺼에요.
예를들면 데이터베이스 접속 비밀번호라거나 하는 것들이요.
그럴때는 .gitignore 파일에 넣어주면 되요.

dbsettings.cfg  
dbsettings2.cfg  

이런 식으로요.

귀차니스트를 위한 배치 파일.

먼저 git-command를 띄우기 위한 배치 파일을 작성해요.

[프로젝트 드라이브 경로] :   
cd [프로젝트 경로]  
[git-command 경로] git  

예를 들면 이래요.

D:  
cd D:\gittest\test01  
D:\PortableGit\git-cmd.exe git  

이렇게 해 놓고 gitcmd.bat 정도로 저장해두면 배치파일을 더블클릭할때마다 프로젝트 경로로 이동하고 git-command 가 뜰 꺼에요.

자동으로 푸시를 해 봐요.

git pull  
git add *.*  
set /P comment=Comment?  
git commit -m "%comment%"  
git push origin master  

이 파일을 gitpush.bat 라는 이름으로 프로젝트 경로에 저장해요.
그리고 필요하다면 .gitignore에 추가하세요.

뭔가 막 수정한 후에 git에 반영할 일이 생기면 아까 gitcmd.bat로 띄운 커맨드 창에서 gitpush.bat 라고 입력하세요.

그럼 commit을 위한 코멘트를 물어볼 꺼에요.
적어주고 엔터 한번 딱 누르면 한번에 git 서버까지 push 반영 완료!

코멘트마저 붙이기 귀찮다면

무조건 60초마다 한번씩 git에 자동으로 동기화하는 스크립트를 만들어 보아요.

:loop  
git pull  
git add *.*  
set timestamp=%DATE% %TIME%  
git commit -m "%timestamp%"  
git push origin master  
timeout 60  
goto loop  

이 도스 배치 파일은 60초에 한번씩 자동으로 동기화해요.
코멘트는 현재 시간이고요.
한번 켜 놓으면 신경쓰실 필요 없어요.
시간을 줄이시고 싶다면 timeout 60timeout [원하는시간] 으로 변경하면 되요.

이 파일을 gitpush.bat 라는 이름으로 프로젝트 경로에 저장하면 되요.

혹시 문제가 있나요?

문제가 있으면 저보다는 구글신이 더 빨리 도움을 주실 꺼에요.
그렇지만 난 뭘 모르는지도 모르기때문에 물어볼 수 없는 경지라면 댓글이나 이메일로 연락주세요.
우리 같이 고민해 보아요.

읽어주셔서 감사합니다.
2015.12. Written By RL

저작자 표시 비영리 동일 조건 변경 허락
신고

WRITTEN BY
레인레테
rainlethez@gmail.com

받은 트랙백이 없고 , 댓글이 없습니다.

트랙백을 보내세요

트랙백 주소 :: http://rainlethe.tistory.com/trackback/344 관련글 쓰기
secret