Git - 버젼관리
github - git으로 관리하는 프로젝트를 올려 둘 수 있는 사이트(원격저장소를 대신 제공)
1. 레포지토리 == .git directory(숨겨진 디렉토리)
commit이 저장되는 곳
2. 커밋한다
프로젝트 디렉토리의 특정 모습을 하나의 버전으로 남기는 행위 & 결과물
=> repository에 남겨짐
commit에 관한 주의사항
1) 처음으로 커밋을 하기전 사용자의 이름과 이메일 주소를 설정
git config user.name "gina Lee" git config user.email "kwon3rd@naver.com"
2) 커밋할 파일을 git add로 지정해주기
git add "파일명.py" git add . # 파일내의 변경사항이 생긴 모든 파일들을 staging area에 추가하라
3) git status로 staging area 확인하기
git status
4) 커밋하기
git commit -m "abcd"
- 처음 커밋하면 root-commit이 생성되었다는 메세지 뜸
깃의 작업 영역
- working directory : 작업을 하는 프로젝트 디렉토리
- staging area : git add 한 파일들이 존재하는 영역, (git add 한 파일들 == staging area에 있는 파일들만 커밋에 반영됨)
- repository : 커밋들이 저장되는 영역
git add를 선별적으로 한 경우 staging area에 add한 파일만 올라감
git파일의 Status
1) untracked 상태: 파일 생성후 한번도 git add 하지 않으면 나타남. git에 의해서 그 변동사항이 전혀 추적되고 있지 않는 상태.
2) tracked 상태:
(1) staged: 새로 생성한 파일에 내용을 쓰고 git add를 하거나,
한번이라도 커밋에 포함됐었던 파일이라도 내용을 수정하고 git add를 한 경우
(2) Unmodified 상태:
커밋을 한 직후 현재 파일의 내용이 최신 커밋의 모습과 비교했을때 전혀 바뀐게 없는 상태.
(3) modified 상태:
최신 커밋과 비교해 수정사항이 있을 경우.
git reset
git add에서 삭제하기
커밋 후 수정된 이후 staging area에 올렸던 파일을 내리고 싶을때git reset "abc.py"
staging area 에서 내려가고, 가장 최근의 git commit과 같은 상태
git push
로컬레포지토리에서 새로운 커밋을 할때마다 리모트 레포지토리에 그대로 반영하기 위해서 git push 해줘야함
git push
git pull
최신 내용이 리모트 레포지토리에 있을때 로컬로 따라잡기 위함
git pull
git clone
깃허브 프로젝트의 레포지토리를 그대로 복제
git clone https://github.com/abcabc
프로젝트 엉키지 않게 꼭 폴더 이동후 복제,,,,ㅎ;