Git 정리

KimGirin·2021년 12월 16일
0

Git

목록 보기
1/1
post-thumbnail

Git?

  • 깃, 깃헙(클라우드에 있는 깃 제공자)
  • 모든 파일의 변화를 기록
  • 같은 파일에 대한 각 다른 버전을 저장
  • 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 -소스제어에서 변경내용을 클릭하면 이전내용과 비교해 준다.
(변경 내용 초록형광펜)

VSC 터미널에서 Git 연동하기

처음 올릴 때

  • 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

이후 업데이트 할 때

  1. git add . : 프젝 폴더 전부 추가
  2. git status : 상태확인(선택)
  3. git commit -m "히스토리 이름"
  4. git push origin master : 올리기

오류 발생 시

LF will be replaced by CRLF

git config --global core.autocrlf true

fatal: protocol 'https' is not supported

주소를 터미널에 복붙하는 과정에서 에러가 난 상황
때문에 origin은 제거해주고 다시 타이핑해서 remote add origin을 해주자.

참고

remote origin 삭제

git remote rm origin
profile
지식을 하나씩 쌓아서 큰 탑을 만들고싶다.

0개의 댓글