Git 설치와 사용법(Git Bash)

정보/뉴스

Git 설치와 사용법(Git Bash)

담운 0 1,297 2019.06.08 05:54

기본적인 명령어


커맨드창 다루기

  • 화면 초기화 : Ctrl + L
  • 한 행의 처음과 끝 : Ctrl + A, Ctrl + E

명령어 키워드

  • 목록 보기 : ls 또는 dir
  • 파일의 내용 보기 : cat
  • 특정 문자를 검색 : grep
  • 디렉터리로 이동 : cd
  • 디렉터리 생성 : mkdir
  • 파일 삭제 : rm
  • 파일 생성 : touch



git config (최초 1회 실행)


// git commit에 사용될 username
git config --global user.name "ebincoin"
 
// git commit에 사용될 email
git config --global user.email "syh0104@gmail.com"
 
// 설정한 내용을 확인할 수 있다.
git config --list
cs



git init

현재 디렉토리를 로컬저장소로 설정한다.


// 로컬저장소로 설정할 프로젝트 위치로 이동한다.
cd C:/dev/workspace/eom2017
cd C:/Users/pc/ebincoin

// 로컬저장소로 설정한다.
// (master) 브랜치로 보이면 성공한 것이다.
git init

// 만약 init을 취소하려면 아래의 명령어를 입력한다.
rm -r .git

cs




git status

로컬저장소의 현재 상태를 보여준다.


99F643345A3015D705




git add
파일을 준비영역(Staging Area)으로 옮긴다.


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




git commit

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

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


 


git log

로컬저장소의 커밋 이력을 조회한다.
 

// 커밋 이력 상세조회
git log 
 
// 커밋 이력중 커밋ID, 타이틀 메시지만 조회
git log --oneline
 
// 모든 브랜치 커밋 이력 조회
git log --oneline --decorate --graph --all
 
// 특정 파일의 변경 커밋 조회
git log -- a.html
cs


 


git remote

로컬저장소와 원격저장소를 연결한다.


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


99479A415A30B36705





git push


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






아래부터는 좀 더 심화된 내용이다.



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

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

2) 특정 커밋과의 차이점 비교
$git diff [Commit ID]

3) 특정 커밋과 특정 파일의 차이점 비교
$git diff [Commit ID] -- [파일 경로]
 

branch
브랜치를 생성, 수정, 삭제 등을 한다.

1) 브랜치 보기
$git branch

2) 브랜치 생성
$git branch [브랜치명]

3) 브랜치 수정
$git branch -m [브랜치명] [바꿀이름]

4) 브랜치 삭제
$git branch -d [브랜치명]
 

checkout
워킹 디렉터리의 소스를 특정 커밋 또는 특정 브랜치로 변경

1) 특정 브랜치로 워킹 디렉터리 변경
$git checkout [브랜치명]

2) 특정 커밋으로 워킹 디렉터리 변경
$git checkout [Commit ID]

3) 특정 파일을 해당 브랜치 또는 커밋 상태로 변경 (원복)
$git checkout [돌아갈 Commit ID] -- [파일 경로]
*충돌 방지를 위해 브랜치명을 확인하고, 파일 추가 및 수정한 뒤 커밋해야 한다.

4) 브랜치 생성 및 체크아웃을 같이 할 경우
$git checkout -b develop
 

merge
다른 두개의 브랜치 소스를 병합한다.

$git checkout master
$git merge develop

*같은 파일의 같은 위치의 내용이 변경된 경우 충돌이 발생한다. 

Comments

번호 제목 글쓴이 날짜 조회
72 과연 양방향매매로 수익낼 수가 있는가… 댓글+1 담운 2020.05.14 2067
71 [해외선물] 실시간 시세신청 안내-지… 담운 2020.05.11 639
70 해외선물 실시간 시세 무료로 볼 수 … 담운 2020.05.10 1083
69 DB금융투자, 수수료 혜택 등 해외선… 담운 2020.04.02 567
68 위험 고지 담운 2020.03.31 569
67 리스크 고지 담운 2020.03.11 552
66 해외선물 증거금 담운 2019.10.20 831
65 CME E-micro 담운 2019.10.20 824
64 파생상품 양도소득세 확정신고 안내 담운 2019.09.25 857
63 주식, 암호화폐, 해외주식 세금 비교 담운 2019.09.13 881
62 해외선물옵션 API 시세 유료화 정책… 담운 2019.08.28 1864
61 Github에 ssh키 생성하고 등록… 담운 2019.06.08 1195
60 github-white-logo-70… 담운 2019.06.08 1229
59 ssh-key 생성 및 github,… 담운 2019.06.08 1713
58 Git 서버 - SSH 공개키 만들기 담운 2019.06.08 1351
57 Nodejs로 구현한 서비스를 Caf… 담운 2019.06.08 2999
56 GitHub SSH 키 생성 및 등록… 담운 2019.06.08 1527
55 기타 Git 명령어(cherry-pi… 담운 2019.06.08 1017
54 Merge와 Rebase 담운 2019.06.08 1103
53 Git 브랜치(Branch) 관리 담운 2019.06.08 1339
52 Git commit 수정하기, dif… 담운 2019.06.08 1167
51 Github 사용하기, remote,… 담운 2019.06.08 1642
50 Git 저장소 생성(init), 최초… 담운 2019.06.08 1237
열람중 Git 설치와 사용법(Git Bash… 담운 2019.06.08 1298
48 node.js git 사용법 담운 2019.06.08 1454
47 Windows에서 git 및 node… 담운 2019.06.08 1387
46 Nodejs로 구현한 서비스를 Caf… 담운 2019.06.08 1249
45 Git 활용 (기본적인 사용법) 담운 2019.06.08 1258
44 cafe24 nodejs git 저장… 담운 2019.06.08 1865
43 카페24 node.js 접속준비 담운 2019.06.08 1804
42 cafe24 node.js git 사… 담운 2019.06.08 3433
41 GitHub - 소스트리(Source… 담운 2019.06.07 1824
40 Sourcetree 설치 가이드 담운 2019.06.07 1103
39 [Git] 소스트리 (SourceTr… 담운 2019.06.07 1395
38 GitLab 업무환경 구성 가이드 담운 2019.06.07 1339
37 Git :: 소스트리(SourceTr… 담운 2019.06.07 1261
36 cafe24 에서 nodejs hos… 담운 2019.06.06 1758
35 카페24 node.js 접속준비 담운 2019.06.06 2712
34 카페24에서 Node.js 서버로 A… 담운 2019.06.06 1466
33 ssh 키 인증 방식으로 로그인하기 담운 2019.06.06 1436