공부하는대로 조금씩 추가할 예정입니다!
git에는 파일을 저장하는 세 저장소가 있다.
working directory -현재 작업중이거나 또는 이전에 저장한 곳
staging Area - 버전관리할 repository에 가기전 후보를 올리는곳
Repository - 파일을 최종적으로 버전관리해서 사용할곳
작업공간 ->staging Area 는 add 명령어를 통해,
staging Area->repository는 commit을 통해 할수 있다.
이 과정에서 status와 log를 통해 add,commit에 대한 확인이 가능하다.
Reset 은 soft , mixed , hard 세가지 버전이 있는데
soft는 repository에 있는 최신버전을 삭제,
mixed는 staging Area와 repository(최신버전)에 있는 버전을 삭제,
hard는 staging Area와 repository(최신버전)와 작업공간을 삭제한다
branch 는 프로젝트를 협업할때, 자신의 역할에 맞게 독립된 공간에서 진행할수 있도록 도와주는것이다.
git init 을 통해 master를 초기 branch로 설정함
git branch my_branch #이후 master에서 뻗어나갈 my_branch생성
git branch #현재 bracnh목록
git checkout (브랜치명) #다른 branch로 들어감
각 branch에서 버전관리를 할때마다 git add와 git commit작업을 하면된다.
배경이 검은색이라 글자가 가려졌는데.. master에서 내려올땐 branch 생성후 checkout을 통해 내려왔다가 git commit을 통해 새로운 버전을 저장한다. 이 new_featuer branch영역에는 master영역의 자료들을 수반한다. 그리고 마지막으로 git merge를 통해 new_featuer의 영역을 master 영역의 데이터를 합칠수 있다.
git remote add 원격저장소명 URL #원격저장소 추가. 원격저장소명은 임의로 정하면된다.URL은 github의 본인 리퍼지토리 주소
git remote rm 원격저장소명 #원격저장소 삭제
git remote #원격 저장소 조회 (-v 붙이면 url 조회됨)
git push -u origin master #내 local의 repository의 master브랜치를 origin(원격저장소)의 master브랜치로 push해라 (-u는 default설정)
git pull(origin master) #내 repository의 master로 가져와!(merge),
이 경우 자신의 기존 repository가 다 날라감.즉 동기화와 같음
git fetch origin #pull과 다르게 원격저장소의 내용 변경시 연결된 로컬저장소의 branch가 수정되는것이 아니라 특정 브런치에서 새롭게 내용확인가능함. 이 특정 브런치는 git checkout FETCH_HEAD를 통해 알수있다.
git clone url(원하는 원격저장소의 url링크) #해당 원격저장소를 로컬저장소에 그대로 복사해줌