git bash 사용법

3079 단어 gitgit

기본 명령어

화면 초기화 : Ctrl + L
한 행의 처음과 끝 : Ctrl + A, Ctrl + E
목록 보기 : ls 또는 dir
파일의 내용 보기 : cat
특정 문자를 검색 : grep
디렉터리로 이동 : cd
디렉터리 생성 : mkdir
파일 삭제 : rm
파일 생성 : touch


git config (최초 1회 실행)

계정 설정. 저장소에 변경 사항을 추가하는 Commit 작업을 할 때 누구의 작업인지를 기록하는 것이 매우 중요하다. Git에서는 커밋을 할 때 사용할 이름과 이메일을 지정할 수 있으며, 이 때 커밋에 기록된 이메일은 GitHub의 사용자를 연결할 때도 사용된다.

// git commit에 사용될 username
git config --global user.name "your_name"
 
// git commit에 사용될 email
git config --global user.email "[email protected]"
 
// 설정한 내용을 확인할 수 있다.
git config --list

git init

현재 디렉토리를 로컬저장소로 설정.
프로젝트를 시작하고 소스 코드를 Git으로 관리하고자 한다면 먼저 git init으로 저장소를 초기화해야한다.

// 로컬저장소로 설정할 프로젝트 위치로 이동한다.
cd C:/dev/workspace/eom2017
 
// 로컬저장소로 설정한다.
// (master) 브랜치로 보이면 성공한 것이다.
git init
 
// 만약 init을 취소하려면 아래의 명령어를 입력한다.
rm -r .git

git status

로컬저장소의 현재 상태를 보여준다.(HEAD가 어떤 브랜치를 가리키는지, 커밋할 작업물이 있는지 등..)

git remote (리포 새로 만들고 로컬과 원격 연결할 때)

로컬 저장소(Local Repository)와 원격 저장소(Remote Repository)를 연결한다.

// Github 원격저장소와 연결한다.
git remote add origin [자신의 Github 원격저장소 주소]
 
// 연결된 원격저장소 확인한다.
git remote -v

git add

파일을 준비영역(Staging Area)으로 옮긴다. (GitHub와 연동하려면 git remote로 원격 저장소와 연결해야 함)

// a.html 파일만 추가
git add a.html
 
// 워킹 디렉터리 내 모든 파일을 추가
git add .
 
// 명령 프롬프트에서 상호작용하면서 추가 (나갈땐 q를 입력)
git add -i
 
// 진행중인 파일일 경우, Staging Area에서 워킹 디렉터리로 옮겨온다. 
$git rm --cached a.html
$git rm -r --cached .

git commit

준비영역(Staging Area)의 파일을 로컬저장소(Local Repository)에 저장한다.

// 에디터가 출력되고, 에디터에서 커밋 메시지 입력 후 저장하면 커밋됨
git commit
 
// 간단한 커밋 메시지를 입력후 커밋
git commit -m "커밋 메시지"
 
// Staging Area에 들어간 파일에 대해서만 (워킹 디렉터리는 적용 X)
git commit -a -m "커밋 메시지"

git push

원격 저장소(Remote Repository)에 저장한다.

// 원격저장소에 저장한다.
git push -u origin master
 
// 에러 - ! [rejected] master -> master (fetch first)
// 이미 변경된 파일이 원격저장소에 있을경우 발생
git pull origin master 
 
// 에러 - ! [rejected] master -> master (non-fast-forward)
git push origin +master

git pull

원격 저장소의 정보를 가져오면서 자동으로 로컬 브랜치에 병합(Merge)까지 수행한다.(pull = fetch + merge)
pull을 이용해서 원격 저장소의 커밋을 가져오게 되면 자동으로 병합되기 때문에 어떤 내용이 병합되면서 바뀌는지 알기가 힘들다는 단점이 있다.

git fetch

로컬 저장소와 원격 저장소의 변경 사항이 다를 때 이를 비교 대조하고 git merge 명령어와 함께 최신 데이터를 반영하거나 충돌 문제 등을 해결한다.


git diff

워킹 디렉터리와 다른 커밋을 비교한다.

1) 현재 브랜치의 마지막 커밋과의 차이점 비교

git diff

2) 특정 커밋과의 차이점 비교

git diff [Commit ID]

3) 특정 커밋과 특정 파일의 차이점 비교

git diff [Commit ID] -- [파일 경로]


refer

좋은 웹페이지 즐겨찾기