Notice
Recent Posts
Recent Comments
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

김쨈창고

Git 사용하기 본문

마크업/Git

Git 사용하기

류쨩 2016. 7. 14. 12:09

GIT이란?

리누스 토발즈 아저씨가 만든 분산형 버전관리 시스템(DVCS)입니다.
리누스 아저씨가 사용하는 BitKeeper가 유료화되면서 직접 버전관리 시스템을 만든건데... 말 그대로 빡쳐서 만든 느낌?!?!!ㅋㅋㅋ

암튼.. GIT에 대한 기본 개념은 http://www.slideshare.net/einsub/svn-git-17386752 을 보시면 조금 더 쉽게 이해 가능합니다.

GIT과 SVN의 개념 중 가장 혼란스러운 것이라면, 아무래도 저장소의 위치가 어디있느냐....가 되겠네요~
위 pdf 문서에도 있지만 아래 그림을 보면 조금 더 빠르게 이해할 수 있습니다!

그니깐.. push를 하기전까지 add / commit / rm / mv.. 등등~
이 모든 작업들은 로컬에서 진행되는거라는 점!

Git 업데이트하기

Git은 최신버전을 유지해주는것이 좋습니다.
Windows는 git 업데이트는 재설치​, ​MAC은 homebrew를 통한 설치를 하면 명령어만으로 업데이트 가능합니다.

GIT사용하기

* 우선 실습에 들어가기 전, 시작 → 실행 → cmd입력 후 확인 후 commend창 실행 or 작업폴더를 생성 후,
Shift+오른쪽마우스로 여기서 명령 창 열기 실행으로 commed창을 열어주쎄욜!

폴더 생성 및 저장소로 만들기

$ 명령어

  • mkdir 폴더명 ♠mkdir(MaKeDIRectory)은 폴더 생성 명령어입니다.
  • cd 폴더명 ♠cd(Change Directory)는 명령어입니다.
  • git init ♠해당폴더를 git저장소로 관리하겠다고 지정해주는 명령어입니다.
mkdir study
cd study
git init

or

git init study

폴더를 직접 생성하고 해당 폴더에 git저장소로 지정해 줄 수 있지만 이 과정이 번거롭다면,
git init 폴더명 으로 한번에 폴더를 생성하고 저장소로 지정해줍니다.

파일 추가 및 커밋

$ 명령어

  • git add 파일명 ♠해당 파일을 staging area로 추가해주는 명령어입니다.
  • git add . ♠현재 폴더내에 있는 모든 파일을 staging area로 추가해주는 명령어입니다.
  • git status ♠현재 저장소의 상태를 알려주는 명령어입니다. 저장소의 파일 리스트 및 앞으로 실행해야 할 명령어의 정보를 보여줍니다.
  • git commit -m '로그메세지' ♠staging area에 추가된 파일을 로컬저장소(repository)로 업로드해주는 명령어입니다.
  • git commit -am '로그메세지' ♠한번이라도 staging area로 add한 파일에 대해서는 add와 commit을 한번에 해 줄수 있는 명령어입니다.

우선, 테스트용 파일을 study 폴더에 넣어주고 아래와 같이 commend창에 입력해줍니다.

git add jsstudy,html

파일을 add하고 git status를 입력해주면,
내가 add한 파일이 어떤 것인지 현재 저장소의 상태를 알려줍니다.

이후, git commit으로 로컬저장소(repository)에 파일을 업로드합니다.

git commit -m 'test'

* 로그메세지는 반드시 입력해주어야 합니다.

commit 이후 git status를 입력하면,
더이상 commit한 파일이 없을 경우 아래와 같이 출력될 것입니다.

만일 commit 명령어 실행 시, 업로드가 되지 않고 에러가 뜬다면 commit하는 사용자의 정보가 없어서 업로드 되지 않을 수 있습니다.
이 경우 아래와 같이 입력해 준 후, 다시 git commit을 실행합니다.

  • * git config --global user.name '사용자영문이름'
  • * git config --global user.email '사용자이메일주소'
git config --global user.name 'username'
git config --global user.email 'username@naver.com'

파일 삭제 및 이름바꾸기

$ 명령어

  • git rm 파일명 ♠해당 파일을 삭제해주는 명령어입니다.
  • git mv 파일명 새파일명 ♠해당 파일의 이름을 바꿔주는 명령어입니다.

* 원래는 파일의 수정이 일어나면 다시 git add를 해주고, commit을 하지만!
이 명령어는 add과정이 명령어에 포함된, 다시말해 add를 추가적으로 하지 않아도 되는 명령어입니다.

git rm jsstudy.html

명령어 입력 후 git status로 현재 상태를 확인하면, 아래와 같이 출력됩니다.

이는 staging area에서는 삭제가 된 상태이지만, 아직 로컬저장소(repository)에서는 삭제되지 않았다는 의미이며 로컬저장소에서도 삭제를 위해서는 git commit 한 번 더 입력해줍니다.

파일명 바꾸기도 이와 같은 순서로 진행하시면 됩니다.

로그보기 및 변경내역 확인

$ 명령어

  • git log ♠저장소의 로그를 확인할 수 있는 명령어입니다.
  • git diff 시작로그번호..끝로그번호 ♠리비전비교를 위한 명령어입니다.
  • gitk ♠ 현재 저장소의 트리구조를 확인할 수 있습니다.
git log

log는 아래와 같이 출력되며, log에 나오는 commit번호로 리비전 비교가 가능합니다.

git diff 2d5f6e..99069a

diff는 로그번호의 앞 6자리 정도만을 입력하여 비교를 하면 코드상의 변경된 내역을 확인할 수 있습니다.
* diff 실행 시 다음에 명령어를 입력할 수 없다면, :q 를 입력하면 명령어 입력으로 돌아올 수 있습니다.

원격저장소 만들기 및 업로드

* 해당 과정을 진행하기 전에 http://github.com/에서 로그인 후, New project를 생성하여 원격저장소 주소를 득템하세요!

$ 명령어

  • git remote add origin 원격저장소 주소 ♠작업한 파일들을 업로드 할 원격저장소를 지정해주는 명령어입니다.
  • git push origin master ♠아직 원격저장소에 브랜치를 생성한 것이 아니기때문에 master로 업로드를 해주는 명령어입니다.
git remote add origin https://github.com/-username-/git

이제 내가 프로젝트 파일을 올릴 원격저장소가 지정되었습니다.
마지막으로 push를 통해 로컬저장소(repository)에 있는 내용들을 원격저장소로 올리면됩니다.

git push origin master

해당 명령어를 입력시, 아래와 같이 username과 password를 요구하게 되는데

이 때는 https://github.com/ 의 로그인정보를 입력하면 당~황~하지.. 않고 끗!

'마크업 > Git' 카테고리의 다른 글

git bash에서 한글이 깨질 경우  (1) 2018.03.07
Git 명령어  (0) 2015.06.10
Git 공부 메모장  (0) 2014.08.27
Comments