Git 기본 용어

커맨트 라인(Command Line) : 

깃 명령어를 입력할 때 사용하는 컴퓨터 프로그램. 윈도우 또는 맥에서는 터미널 인터페이스라고 한다.

모둔 경우에 마우스 인터페이스를 사용하는 것이 아닌 커맨드 텍스트 명령어 기반으로 사용된다. 

저장소(Repository) : 

소스 및 기타 파일등의 디렉토리나 저장 공간을 의미한다. 

사용자의 컴퓨터 안의 로컬 폴더 및 파일위치가 될 수 있고, 다른 온라인 호스트의 저장 공간이 될 수도 있다.

버전관리(Version Control) : 

기본적 Git으로 부터 서비스 관리 되도록 고안된 목적으로 파일들이 겹쳐지거나 중복되지 않도록 나눠서 관리하는것을 의미한다.

커밋(Commit) : 

커밋이라는 명령어를 사용하게 되면 그 시점의 저장소의 “스냅샷”을 만들어 두어 관리되며, 이전의 어떠한 상태로든 재 사용 및 복원이 가능하는 체크 포인트를 의미한다. 

브랜치(Branch) : 

일반적으로 작업자들은 자신이 변경하고자 하는 영역만 변경 또는 업데이트를 한다. 쉽게 자기 자신만이 사용하는 격리된 공간을 의미한다.

Git 주 명령어

git init : 

깃 저장소를 초기화한다.

초기화 하기 전까지는 일반 폴더 이며, 초기화 한 후에는 GIt 과 연동되어 GIt 명령어를 실행 할 수 있다. 

git config : 

“configure”의 준말, 처음에 깃을 설정할 때 사용된다. 예로 Push 가 발생할 때 매번 계정을 및 PW를 입력하는 번거로움을 줄일 수 있다. 

git help : 

Git 에는 수많은 명령어가 존재한다. 또한 수많은 기능이 있기때문에 한번에 다 숙지하기 란 불가능하다.

이를 대비하여 Reference 를 참조할 수 있다. 

git status : 

저장소 상태를 체크한다. 어떤 파일이 저장소에서 무엇이 필요한 사항을 상태로 체크 할 수 있다.

git add : 

add 명령어는 저장소에 신규 또는 수정된 파일을 추가하지 않으며, 신규 또는 수정된 파일을 주시하게 된다.

주시를 시작하게 되면 Staging 이라는 별도 격리된 공간으로 부터 관리되며, 저장소내에는 스냅샷이 추가 된다.

git commit : 

깃의 가장 중요한 명령어다. 신규 또는 수정된 파일이 발생되면, 저장소의 스냅샷을 찍기 위하여 사용된다.

스냅샷을 만들때에는 특정 코멘트를 추가하여 어떠한 사항이 추가되었는지도 함께 작성된다.

git branch : 

한개의 가지라는 의미를 가지고 있으며, 별도 격리된 가지를 분리하여 작성자만의 환경을 구성한다.

git checkout : 

현재 작업된 공간을 나타내는 위치, 현재 위치를 나타내는 저장소를 나타낸다.

다른 공간 또는 저장소로 옮길수 있는 탐색 명령어 이다. 

git merge : 

브랜치라는 가지에서 모든 작업을 마친후, 모든 작업자가 공통으로 쓰일 수 있는 메인 브랜치로 합치는 작업이다.

git push : 

로컬 저장소에서 작업을 마친후 서버 및 중앙 저장소로 업로드 하는 명령어 이다.

git pull : 

로컬 저장소에서 작업할대 서버 및 중앙 저장소에 있는 최신 버전을 다운로드 하는 명령어 이다.

Git 설치 및 업그레이드

일반적 설치기를 통해서 Git을 설치하면 Git을 업그레이드하면서 기존 설정을 유지할 수 있다.

다음 Git의 공식사이트에서 설치가 가능하다. ( http://git-scm.com/dowonloads )

OS 중의 리눅스/유닉스는 보통 Git이 설치되어 있지만, 최신버전으로 업그레이드 하는것을 권장 한다.

패키지를 최신 상태로 유지하려면, 개별적으로 업그레이드 하거나 요청을 통해 전체를 업그레이드 할 수 있다.

보통 명령어 upgrade를 사용하여 수행한다. install 명령어를 다시 실행해도 새 패키지가 있으면 해당 소프트웨어를 업그레이드 한다.

기본적으로 글로벌 설정은 /.gitconfig 에 저장되며 로컬설정은 특정 장소의 .git/config 파일에 저장된다

즉, 언제든지 파일을 열어 설정을 수정할 수 있다.

Git 로컬 저장소 만들고 연결하기

Rrmote 의 저장소는 다음과 같다.

http://domainName/root/repo.git

Remote 를 로컬로 미러링 하고 Git을 사용하기 위하여 로컬에서는 다음과 같은 설정이 필요하다.

// 신규 저장소 생성
# git clone http://domainName/root/repo.git
# cd repo
# touch README.md
# git add README.md
# git commit -m "add README"
# git push -u origin master


// 로컬 저장소 연결
# cd repo
# git init
# git remote add origin http://domainName/root/repo.git
# git add .
# git commit -m "Initial commit"
# git push -u origin master


// 기존 Git 저장소 연결	
# cd repo
# git remote rename origin old-origin
# git remote add origin http://domainName/root/repo.git
# git push -u origin --all
# git push -u origin --tags

Git 설정된 값 확인

git help config 는 명령어 config 페이지로 연결 후 모든 변수의 목록을 확인 할 수 있다. 

# git config --get user.name
# git config --list
# git help config

Git Global 설정

글로벌 설정에는 별도 폴더 및 저장소와 상관없이 설정이 가능하다.

# git config --global user.name 'your name'
# git config --global user.email 'email@email.com'

특정한 저장소에만 설정 환경을 적용하게 하는 경우는 다음과 같다. 

# git config --local user.email 'email@email.com'

Git ID / PW 저장하기

콘솔에서 push 및 pull 등 서버에 접속 하면서 매번 아이디와 패스워드를 찾지 않는다.

# git config --global credential.helper store

Git Remote 저장소 변경

# git remote -v
origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)

# git remote set-url origin https://github.com/user/repo2.git
Change the 'origin' remote's URL

※ https repository 연결시 ssl 검증 끔

git config http.sslVerify false

GIt Commit 메세지 에디터 변경

기본적으로 리눅스에서는 커밋 메세지 에디터가 VIM또는 VI 를 사용한다.

다음의 명령어로 현재 사용하고 있는 에디터를 확인 할 수 있다. 

# git config --get core.editor

에디터를 종료할때만 커밋이 git에 저장 됨으로, 커밋 메세지를 저장하는 것으로 끝이 아니다.

즉, 따라서 텍스트 에디터 선택이 큰 영향력이 있다. 

# git config --global core.editor mate -\
# git config --global core.editor subl -n -\
# git config --global core.editor '"c:/Program Files\Vim\Vim.exe" --nofork'

Git 관리리대상 제외 파일 목록, 파일무시하기

통합개발환경(IDE)이 프로젝트와 관련없이 임시 파일을 생성한다면, 글로벌 설정을 추가하여 해당 파일을 무시하도록 한다.

# git config --global core.excludesfile ~/.gitignore

파일명으로 설정할 수 있으며 때에 따라서는 * 문자로 사용할 수 있다.

  1. 프로젝트  root 레벨에서 .gitignore 파일을 생성.
  2. 한줄에 하나씩 Git 저장소에 추가되지 않는 파일명 작성. (파일명 또는 와일드카드문자 사용가능)
  3. 명령어 add 와 commit 을 사용하여 .gitignore 파일을 저장소에 추가.


예를들어 DB 패스워드 및 개인정보을 제외하고자 하면 다음과 같다. ( .gitignore 파일내 목록으로 작성하면 됨 )

dbsettings.cfg 
dbsettings2.cfg 

Git 자동 푸시 (Bat)

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

파일을 gitpush.bat 라는 이름으로 프로젝트 경로에 저장 후 필요하다면 .gitignore에 추가한다.  

마지막 수정 후  gitcmd.bat로 띄운 커맨드 창에서 gitpush.bat 라고 입력하면 된다.

commit을 위한 메세지를 입력 후 git 서버까지 push 가 된다.



  • No labels
Write a comment…