git

hmLee·2021년 8월 20일
0

버전관리

작업을 하면서 마음에 들거나 중요한 부분을 사진 찍어서 저장해두고
예전 사진들을 보고 싶을 때 꺼내 보는 것

git의 세가지 상태

1. modified: 수정한 파일 (아직 로컬 데이터베이스에 커밋하지 않은 것)
2. staged: 수정한 파일을 곧 커밋할 것이라고 표시한 상태
3. committed: 데이터가 로컬 데이터베이스에 안전하게 저장됐다는 것

이 라이프 사이클은 계속 반복된다.
commit은 (그릇된 일·범죄를) 저지르다, 자살하다, 약속하다의 의미도 있지만 (몸, 마음, 생각 등을) 전부, 전적으로 모아 보내다는 의미도 있다.

git의 세가지 단계

1. working directory: 작업하고 있는 곳(=working tree). modified 상태의 파일을 staging area로 옮길 수 있다.
tracked: git이 알고 있는 파일
untracked: tracked를 제외한 나머지
tracked는 이미 스냅샷에 포함된 파일로 unmodified, modified, staged 상태 중 하나
처음 저장소를 clone하면 모든 파일은 tracked이면서 unmodified상태이다.
checkout하고 나서 아무것도 수정하지 않았기 때문
2. staging area: 파일을 commit할 스냅샷을 만든다
3. .git directory: Repositiory. staging area에서 커밋한 파일이 영구적인 스냅샷으로 저장된다. (파일 상태: committed)

최초 설정 시 git config라는 명령어를 사용하는데 configuration은 배열, 배치 뿐 아니라 (컴퓨터) 환경 설정의 의미가 있다.

git 저장소 만드는 방법

  1. 로컬 폴더를 선택해서 git 저장소를 적용하는 법
    (지정한 폴더를 버전관리하고 싶을 때)
  2. 다른 어딘가에서 git 저장소를 clone하는 방법
    (다른 프로젝트에 참여하려하거나 (contribute) git 저장소를 복사하고 싶을 때

[1번 과정] + github에 올리는 과정

  1. cd/c/user/my-project 프로젝트의 디렉토리로 이동한다. (change directory)
  2. git init 프로젝트 폴더에 여기에서 git을 쓸거라고 명령
    (.git이라는 하위 디렉토리가 생성됨)
  3. 코딩
  4. git add . 변경한 파일 중 올리길 원하는 것만 선택(.의 경우 전체 선택)
  5. git commit -m "설명" 선택한 파일들을 commit으로 만들고 설명
  6. github 사이트에서 프로젝트 저장소 만들기
  7. git remote add 내 컴퓨터 프로젝트 폴더에 github 저장소 주소 알려주기
  8. git push 내 컴퓨터에 만들었던 덩어리 github에 올리기

[2번과정]

  1. git clone
    eg. git clone https://github.com/libgit2/libgit2
    libgit2'' 라는 디렉토리를 만들고(위치: C:\Users\\libgit2)
    그 안에 .git 디렉토리를 만든다. 그리고 저장소의 데이터를 모두 가져와서
    자동으로 가장 최신 버전을 checkout 해 놓는다

명령어 정리

  • git status : 파일 상태 (어떤 파일이 modified인지 , staged인지, unstaged인지 확인)

git init : 프로젝트 폴더에 git 사용 명령

원하는 폴더에서 git 초기화를 하면 그때부터 가능해지고 .git이라는 숨겨진 폴더(로컬 저장소)가 만들어진다.
로컬 저장소에 내가 만든 버전 정보, 원격 저장소 주소 등이 저장된다.
원격 저장소에서 내 컴퓨터로 코드를 받아오면 로컬 저장소가 자동으로 생긴다.
한 폴더에 하나의 로컬 저장소만 유지해야 한다.

  • git init : 로컬 저장소 생성. initialized empty git repository in C:/~~~
  • git init: 프로젝트 폴더에 git을 사용함을 명령함
  • pwd : 현재폴더(루트폴더) 확인 print working directory
  • ls : 현재폴더에 있는 파일 리스트 list
  • ls -al : 숨긴폴더도 같이 보여줌
  • cd : change directory
    eg. cd Documents : documents폴더로 이동

git add, git commit, git log commit 의미있는 변동사항을 묶은 하나의 버전

  • git add : 커밋으로 만들길 원하는 파일만 선택
  • git add . : 전체 파일 추가
  • git commit -m "" : 설명추가
  • git log : commit 상태보기

git remote add, git push 만든 버전 github에 올리기

origin : remote 저장소 (원격 저장소)
master : branch 이름

  • git remote add 내 컴퓨터 프로젝트 폴더에 github 저장소 주소 알려주기
    eg. git remote add origin https://~~
  • git push 만든 commit push하기
    eg. git push origin master

git pull 다른사람이 만든 저장소 받아오기

ctrl + insert : 복사
insert : 붙여넣기

  • git pull: 다른 사람이 만든 저장소를 받아오기
  • git clone URL : 원격 저장소를 내 컴퓨터에 받아오기 폴더, .git 자동 생성
  • git clone URL . : 현재폴더에 받아오기
  • cd .. : 상위폴더로 올라가기
    cd.. / 폴더명 상위폴더로 올라간 다음에 다른 폴더로 들어가는 거 한번에
  • git pull 원격 저장소의 데이터 가져오기
  • rm -rf 폴더명 : 삭제
  • git pull origin master : 원격 저장소의 변경사항 내 컴퓨터에 받아오기
    master 브랜치에 commit을 push하라
profile
정말 개발자가 될 수 있을까?

0개의 댓글