[GIT] 사용방법
깃 사용 방법에 대해 알아보겠습니다.
Git 의미
Git은 코드 버전 관리 프로그램을 의미합니다.
버전 관리라 함은 1) 지난 코드 과정을 확인하고, 2) 작성했던 이전 버전으로 돌아갈 수 있음을 뜻합니다. 엑셀에서도 v1, v2, v3 등으로 버전을 업그레이드하는데요. 이런 업그레이드 과정을 기록하는 것입닏.
이뿐만 아니라 공동 작업시에도 유용합니다. 또한, 외부 Repository로 다른 컴퓨터에서 작업이 가능한 것입니다. 이런 점은 구글드라이브와 유사하다고 볼 수 있겠습니다.
즉 장점을 정리하자면 1) 버전관리 2) 협업 3) 다른 컴퓨터에서 작업 가능
깃은 버전 관리시 사용하는 소프트웨어 자체를 의미하고 깃허브는 프로젝트 복사본을 저장하는 서버를 제공하는 서비스입니다.
Git 커밋
1)커밋: 프로젝트 디렉토리의 특정 모습을 한 버전으로 남기는 행위와 결과물 (1)처음으로 커밋 하기 전엔 이름, 이메일주소 설정이 필요하며 (2)커밋에는 커밋메세지가 반드시 필요합니다. (3)커밋할 파일은 git add로 지정해줘야합니다.
git add analysis.py : add는 수정된 파일이 커밋에 포함할 것이라는 의미입니다. git commit -m “analysis”
Git 작업영역
1)working directory(working tree) 작업을 해야하는 프로젝트 디렉토리 현재 깃허브 블로그의 디렉토리는 sjkim-design.github.io 입니다.
2)staging area(index) git add한 파일이 존재하는 영역이며, 이 area에 있는 파일만 커밋에 반영됩니다.
3)repository working directory의 변경 이력들이 저장된 영역이며, 커밋들이 저장되는 영역입니다.
즉 제 작업공간에서 작업을 한 후 git add를 하여 staging area로 넣고 git commit -m을 하면 repository로 들어가게 됩니다.
Git 첫 설정 (name, email 지정)
git init git config user.name ‘sj’ git config user.email ‘ksj~~~@naver.com’
Git status
git status는 프로젝트 디렉토리의 현재 상태를 보여줍니다. git add 여부에 따라 다음이 달라집니다. changes to be commited : 커밋에 변경될 변경사항 changes not staged for commit: 커밋에 반영되지 않는 변경사항
기본 방법
뒤로 가기: cd .. git add . : 현재 프로젝트 디렉토리 내의 변경사항 생긴 모든 파일을 stage에 올리기 ls : 현재 파일 목록
git 파일의 status
1)untracked 변동사항이 추적되고 있지 않은 상태를 의미하며, 파일 생성후 그 파일을 한 번도 git add하지 않았다면 untracked로 표시됩니다. 2)tracked 깃에 의해 변동사항이 추적되는 상태입니다. (1)staged git add 한후 staging area에 올라와있는 상태 (2)unmodified 현 파일과 최신 커밋 모습이 똑같은 경우, 수정되지 않았다는 의미입니다. (3)modifed 최신 커밋과 비교시 바뀐 내용이 있는 경우 수정된 상태로 표시됩니다.
staging aread에 파일 추가/제거
git add : staging area에 파일 추가 git reset: staging area에 파일 제거 하지만 변경된 모습은 워킹 디렉토리에 그대로 있습니다.
git 사용방법과 의미 찾는 방법
git help 알고자하는커맨드 또는 man git-알고자하는커맨드 예를 들면 git help add 또는 man git-add 를 쓰면 git 공식 매뉴얼에서 해당 커맨드를 출력합니다. 공식 메뉴얼에서 나가고 싶은 경우 q를 입력하면 됩니다.
레포지토리 개념
깃허브의 레포지토리는 원격/리모트 레포지토리이며 내 컴퓨터 내의 레포지토리는 로컬 레포지토리입니다.
이미 만든 로컬 레포지토리를 깃허브에 업로드하는 방법 git remote add origin https://github.com/sjkim-design/~~~.git
git push -u origin master
git push/pull의 의미
git push: 로컬 레포지토리 -> 리모트 레포지토리에 새로운 커밋을 넣는 것 git pull: 리모트 레포지토리 -> 로컬 레포지토리에 새로운 커밋을 넣는 것
git clone의 의미
git clone: 깃허브 프로젝트의 레포지토리를 그대로 복제 git clone https://github.com/sjkim-design/~~~.git
README.md
해당 프로젝트의 설명/사용법 등의 내용이 들어갑니다.
git log의 의미
1) git log는 커밋들의 이력을 보여주며, 최신순으로 오더링되어 있습니다. 커밋아이디(커밋해시)가 같이 표현됩니다. 2) git log –pretty=online 은 좀 더 깔끔한 형태로 보여줍니다. 3) 커밋해시를 사용하여 git show 커밋해시 앞4자리 git show 44ad라는 식으로 진행을 하면 해당 커밋의 이전모습과 해당 커밋에서의 모습을 보여줍니다.
커밋메시지 가이드라인
1)상세한 경우 제목과 상세내용구분하여 작성 2)커밋메시지 제목과 상세 설명 사이는 한 줄 비우기 3)커밋메시지 제목 뒤 온점 붙이지 않기 4)커밋 메시지 제목의 첫글자는 대문자 5)커밋 메시지 제목은 명령조 6)커밋 상세내용 : 커밋 이유/문제/해결책의 효과 7)최대한 코드 이해 쉽게 상술 8)하나의 커밋에는 하나의 이슈를 해결한 사항만 남기기
git 사용자명, 사용자 이메일 설정
- 터미널에서 사용자명과 사용자 이메일 지정
git config –global user.name “사용자명”
git config –global user.email “사용자이메일”
config 확인 git config –list
clone
git clone ‘URL’ 저장할경로(/~~)
- 터미널
- tab 두번 하면 디렉토리 하위 폴더 보임, 슬래시 하고 tab하면 유일하면 진행됨
References
https://www.youtube.com/watch?v=3UOh0rKlxjg&list=PLIMb_GuNnFwfQBZQwD-vCZENL5YLDZekr&index=8
Leave a comment