- 깃, 깃헙(클라우드에 있는 깃 제공자)
- 모든 파일의 변화를 기록
- 같은 파일에 대한 각 다른 버전을 저장
- 3 가지 파일이 공통으로 갖고있는 한 가지를 바꿔야 할때 강점을 가짐(한번에 관리 가능)
- 혼자일하는 것이 아니라 협업을 할경우에 모두 같은 파일을 가지고 여러명과 함께 일을할수있음
나와 같이 협업하는 사람이 서로 변경사항과 충돌하는 일 없이 일할수있음- 많은 오픈소스 프로젝트들이 올라가 있음 (유명 대기업의 코드들을 오픈소스로 다 볼수있음)
Working dir -> Stage Area -> Repository(git)
wroking directory : 내가 작업하고있는 로컬
stage Area : 커밋 대기하는 곳
Repository(git) : 저장소 git
head > master/main > 해당 커밋ID
head는 당시 working dir, stage Area가 만들어진 시점을 가리킴
(기본적으로 master/main을 가리킨다.)
master/main은 작업한 마지막 시점을 가리킴
(기본적으로 해당 커밋ID를 가리킨다.)
check out
head를 이전의 커밋ID로 바꾸게 될 때, working dir과 stage Area가 이전의 커밋ID 당시의 디렉토리로 변경이 된다.
head위 위치를 과거의 특정 시점으로 가리키기를 원한다면
: git checkout 이동하고싶은 이전의 커밋ID (앞부분만 조금 적어도 된다.)
head의 위치를 마지막 시점(master)로 가리키기를 원한다면
: git check out master
다시 전체 로그를 보고싶다면
: git log --all
한 줄로 간단하게 보고싶다면
: git log --oneline
버전 관리
단위마다 작업한 내용물이 이전의 것과 비교를 하는데 정말정말 유용하다.
기본적으로는 vsc -소스제어에서 변경내용을 클릭하면 이전내용과 비교해 준다.
(변경 내용 초록형광펜)
- git init : 맨 처음에 프로젝트를 올릴 때
- git add . : 깃허브에 어떤 파일을 올릴지 찾아보겠다. (.)은 전부라는 뜻 // 해당 프로젝트 폴더 전부 추가한다.
(만약 index.html만 올리고 싶다면 >> git add index.html)- git status : git의 상태를 알려줌 // 방금 (해당 프로젝트 전go부) 추가한다고 했지? 나는 두개의 new 파일을 찾았단다. (선택)
- git commit -m "first commit" : 히스토리를 만들어 줌 // 히스토리의 이름은 first commit 이다.
- git remote add origin https://github.com/git ID/git project명.git
: git ID/git project명.git 리파짓토리로 내 소스코드를 보낸다.- git remote -v : 연결고리 확인(선택)
- git push -u origin master
- git add . : 프젝 폴더 전부 추가
- git status : 상태확인(선택)
- git commit -m "히스토리 이름"
- git push origin master : 올리기
git config --global core.autocrlf true
주소를 터미널에 복붙하는 과정에서 에러가 난 상황
때문에 origin은 제거해주고 다시 타이핑해서 remote add origin을 해주자.
git remote rm origin