Git에서 자주 사용하는 명령어 메모.

매번 검색하기도 귀찮고 해서..내용은 생각나는 대로 업데이트 할 예정(2013.11.11)


Git기본설정

*처음 맥에서 Git를 사용할때 자신의 정보를 등록

이거를 등록안한다고 해서 문제가 되진않지만 등록이 안되어 있을시 커밋할때마다 등록안됬다고 지저분한 로그가 출력됨.

git config --global user.name "사용자이름"

git config --global user.email "이메일"


*Git를 사용할때 자신의 정보를 등록확인

git config --global --list


*Git출력 컬러표시 설정

git config --global color.ui "auto"


*Git로그이력 출력

git log -출력행수

예) git log -1


*Git파일 무시하기(저장소 차원에서 무시)

.gitignore 파일에 무시할 파일 추가


*Git파일 무시하기(자신의 컴퓨터에만 무시)

/.git/info/exclude 파일에 무시할 파일추가


브런치(Branch) 사용

Git에선 새로운 기능추가,버그수정, 유지보수등을 쉽게 하기 위해 브런치를 활용한다. 원본 master 역시 브런치이다.


*브런치생성

git branch 새브런치명


*브런치 체크아웃 (브런치를 이동할때의 명령어.)

git checkout 브런치명


*브런치 일람보기

git branch


*브런치생성과 체크아웃을 한꺼번에 하기

git checkout -b 새로운브런치 기존브런치

예)git checkout -b newBranch master


브런치 합치기(Merge)

3가지 모드가 있음


*바로합치기

git merge newBranch


*커밋합치기

이경우엔 커밋이 스테이징까지만 되므로 git status로 상태확인후 커밋이 필요하다.

git merge --squash newBranch


*선택합치기

커밋한 내용은 고유의 해쉬값를 가지고 있으므로 커밋단위로 merge가 가능하다.

git cherry-pick 214bewf


스테이징까지만 merge하려면 -n옵션을 붙인다.

git cherry-pick -n 214bewf


충돌 다루기(Conflict)

충돌이 날경우에는 XCode에서 제공되는 툴을 이용하여 머지 작업을 한다. 충돌난 소스는 스테이징에 있기때문에 수정후 커밋이 필요.


브런치 이름변경

*브런치 이름 변경하기

git branch -m 현재브런치명 변경할 브런치명


이미 존재하는 브런치명이 존재할 경우 에러발생. 무시하고 덮어쓰기 하려면 -M 옵션을 준다.

git branch -M 현재브런치명 변경할 브런치명


기타 요긴하게 쓰이는 명령어


커밋하지 않은 내용들을  pull 하기전에 잠시 임시로 빼놓는 명령어

git stash 


임시로 빼놓은 내용들을 가져오기 (pull  한 다음)

git stash pop 


임시로 빼놓은 내용들을 표시

git stash show


임시로 빼놓은 내용들을 삭제

git stash clear




Git참고 사이트

http://wp.yat-net.com/?p=3874







TAG git
Posted by 악당잰 트랙백 0 : 댓글 0

댓글을 달아 주세요

어느 소스폴더에서 "git init"를 한 폴더 전체가 소스관리 대상에 포함된다.

(git init 는 git로 현재폴더를 소스관리 하겠다는 명령어)


각각의 의미는 아래와 같다.

# 로 시작하는건 코멘트

_

# 하위디렉토리를 포함한 hoge.dcu 등의 파일을 무시

*.dcu


# 최상위디렉토리의 *.exe 파일만 무시

# 하위디렉토리는 무시하지 않는다.

/*.exe


# tmp 디렉토리 전체를 무시하는 경우.

tmp/


# cache 디렉토리를의 안에파일을 전부 무시.

# 그리고 .htaccess 는 제외(무시대상에 제외)

cache/*.*

!.htaccess


# *.o 전부 무시.

# zlib/ 이하의 *.o는 제외(무시대상에서 제외)

*.o

!zlib/*.o




어느 오픈소스에 있는 .gitignore를 열어보았더니 이렇게 설정되어 있었다.

나중에 만들때 참고해 만들면 될듯하다.


# Xcode

build/*

*.pbxuser

!default.pbxuser

*.mode1v3

!default.mode1v3

*.mode2v3

!default.mode2v3

*.perspectivev3

!default.perspectivev3

*.xcworkspace

!default.xcworkspace

xcuserdata

profile

*.moved-aside


#Mac OS

.DS_Store

Posted by 악당잰 트랙백 0 : 댓글 0

댓글을 달아 주세요

자초지종을 얘기하자면 회사 현장에서 예전사람이 작업을 했던 iPhone소스를 압축 파일로 넘겨받았다.

이런식으로 소스를 준 이유야 물론 소스관리서버(SVN 또는 Git)를 이용하질 않았기 때문일거다.

뭐 환경이 그러니 로컬에서 수정하는 식의 작업을 하게 됬는데...

워낙 사양의 변경이 잦아 다시 뒤로 돌리는 일이 많아지고 그래서 로컬에서만이라도 소스이력을 관리해야할 필요가 생겼다.


다행히도 XCode에는 로컬Git를 이용할수 있으므로 그걸 사용하려고 했지만.., 이런식으로..



 

이메뉴는 프로젝트 처음 실행시에만 나오므로 나의경우는 이미 프로젝트가 생성된것이니 메뉴에서는 불가능..


인터넷을 좀 검색했지만 좀처럼 답을 찾을수 없었는데 다시생각해보니 Git를 사용해본 사람이라면 간단히 해결될 문제였다.

메뉴에서 선택하여 Git를 만들지 못하니 그냥 커맨드로 하면 되는거다.


1. 터미널을 열고 소스폴더로 이동한다.

2. git init 명령을 실행하여 Git생성

3. git add . 을 실행하여 폴더에 모든 파일을 추가(옆에 점을 꼭 찍어야함)

4. git commit -a -m "init commit" 을 실행하여 커밋

5. XCode를 실행하여 프로젝트를 열면 Git을 사용할수 있다. 오거나이져에도 자동으로 보임.


결국 Git에 대한 나의 무지로 삽질을 좀 했는데 Git랑 조금이나마 가까워진것에 의미를 두자.



Posted by 악당잰 트랙백 0 : 댓글 0

댓글을 달아 주세요