본문 바로가기
카테고리 없음

git과 git 저장소

by 갈잃자 2022. 6. 28.

git

  • git == 파일의 상태(변화)를 파악하고 기록하는 시스템
  • git 장점
    • 모든 파일의 변화된 내용을 추적함
    • 같은 파일에 대한 각기 다른 버전을 보관 가능
    • 한 파일로 다른 에디터들과 함께 작업가능

git 저장소

  • git 저장소 == 클라우드에 있는 깃 제공자.
  • 리모트 레포지터리를 관리(운영)하는 사이트(시스템)

사용법

  • git init
    • 제일 처음에 프로젝트를 올릴때 git init으로 초기화를 시켜줌
git init

 

  • git add .
    • git 변경내용을 add시켜줌 (뒤에 .은 모든 파일을 뜻함)
    • 하나의 파일의 변경사항만 올리고 싶다면 add 뒤에 파일이름을 작성
git add .
git add index.html

 

  • git status
    • git에서 add되거나 add 되지 않은 상태의 파일을 확인
git status

 

  • git commit
    • 변경된 사항의 history를 만듬
git commit -m"first commit"

 

  • git remote
    • 내가 만든 repository로 내가 작성한 소스코드를 보낼 연결고리를 만듬
git remote add origin git@github.com seongchanleelee/first-project.git

// 연결고리 확인법
git remote -v

 

  • git push
    • 연결된 repository에 변경사항을 보냄
    • 가장 마지막에 들어가는 단어는 branch명을 뜻함
git push origin master

 

  • git pull
    • 협업에디터의 변경사항을 내 local repository에 받아오고 싶을때 사용
git pull

 

  • git clone
    • git주소를 알고 프로젝트를 다운받아야 하는 상황이 있을때 사용
git clone #복사된 html주소#

branch

  • 특정 commit을 가리키는 포인터 역할
  • git push시 HEAD가 되는 branch(ex)main, master)에 한번에 올리게 되면 기능 세분화의 어려움은 물론, 오류가 났을 시 빠른 복구가 어려울 수 있다.

  • git branch
    • branch를 생성하는 명령어
git branch {branch_name}
git branch freshman

 

  • git checkout {branch_name}
    • HEAD가 가리키는 branch를 옮겨줌
git checkouot freshman

 

  • git log
    • 현재 HEAD가 어떤 branch를 가리키는지 확인함
git log

 

  • git merge
    • 현재 가리키고 있는 포인터(위 예제에선 freshman)와, merge 뒤에 작성한 branch명에서의 커밋을 합칠때 사용된다.
git merge {branch_name}

git merge master

 


  • merge시 conflict문제
    • 동일 라인(동일 선상의 커밋)이 서로 다른 코드를 가지게 되는 경우 합칠 때 충돌이 발생
    • conflict 에러 발생시 충돌이 일어난 파일에 들어가 본인이 작성한 코드와 다른 branch에서 작성된 코드를 잘 정리후 add commit 하면 된다.

댓글