[react] 노마드코더 영화웹서비스 제작 1.1 깃허브에 리액트앱 집어넣기

unu·2021년 5월 22일
0
post-thumbnail

git의 네 영역

1) Working Directory (작업영역)

  • 실제 프로젝트 디렉토리
  • .git 이력과 관련 정보가 저장 된 .git을 제외한 모든 영역
  • 실제 코드의 추가, 수정, 삭제 작업이 이루어지는 영역

2) Repository (저장소)

  • 파일, 폴더를 변경 이력별로 저장해 두는 곳
  • .git 디렉토리내 존재하며 2가지로 나뉜다.
  • 2.1) Local Repository : 개인 PC에 파일이 저장되는 개인 저장소
  • 2.2) Remote Repository : 원격 저장소 전용 서버에서 관리되며, 여러 사람들과 같이 공유도 가능한 저장소

3) Index (Staging Area)

  • Working Directory에서 Repository로 정보 저장 전 준비 영역
  • 파일 상태를 기록, 스테이징 한다고 표현 한다.
  • .git/index 파일로 관리된다.
  • 3.1) git add : Working Directory 에서 Index 영역으로 정보가 저장됨.
  • 3.2) git commit : Index영역에서 Repository로 정보가 저장됨.

4) Stash

  • 위의 3가지 영역과 다른 별개의 임시 영역
  • 임시적으로 작업사항을 저장해두고 나중에 꺼내올 수 있다.

git 명령어

▶ 1. git add

  • Index에 파일 추가 하는 명령어 이다.
    (unstacked files의 파일들, Changed but not updated 파일들을 스테이징에 add)

▶ 2. git rm

1) --cached : Index에 추가된 파일을 staging area에서 제외(working directory의 파일은 유지)
2) -f, --force : 삭제하려는 파일의 내용이 브랜치 끝 부분에서의 내용과 다를 경우 강제 삭제
3) --ignore-unmatch : 삭제하려는 파일이 없을 때 발생하는 에러 무시

▶ 3. git commit

  • 변경사항 확정에 사용하는 명령어이다.

3.1 git commit -m "커밋 메세지"

  • 스테이징 영역의 파일들을 커밋한다.
  • -m은 커밋메세지 옵션
  • 여러 줄의 커밋메세지는 여러개의 -m 을 사용하여 처리 가능 하다.

3.2 git commit -a : 자동으로 add를 진행한 후 커밋

  • 별도의 add명령어를 사용하지 않고 수정된 파일에 대해 add, commit을 한번에 수행한다.
  • 한번도 add되지 않은 파일은 add를 따로 작업 해줘야 한다.

3.3 git commit -am "커밋 메세지" : a, m의 옵션을 합친 형태.
3.4 git commit -v : 커밋 메세지에 diff의 내용 포함
3.5 git commit --amend : 최신 커밋 메세지를 수정하여 커밋 할 수 있다.(신규 커밋 메세지 추가 되지 않음)

출처: https://goddaehee.tistory.com/217 [갓대희의 작은공간]

강의내용

  1. 깃허브에 레포지토리를 우선 하나 만든다.
    readme, gitignore, copyright는 터치하지 말래서 만지지 않음

  2. git init
    내 movie-app폴더 안에 .git이라는 폴더를 만들고 깃을 초기화 한다.

  3. git remote add origin https://github.com/ehrtjfhr100/movie-app-2021
    오른쪽 url을 원격 저장소로 추가한다.

  4. git add .
    워킹디렉토리의 모든 파일을 스테이징 영역으로 이동시킨다.(.이 모든 파일을 의미)

  5. git commit -m "first commit"
    first commit이라는 메세지와 함께 모든 파일을 Git의 저장소에 커밋한다.

git push origin master
커밋된 파일들을 origin 원격저장소(깃허브)의 마스터 브랜치로 보낸다.
이전에는 리드미, 저작권등으로 main 브랜치가 있는 상태에서 새로운 브랜치를 생성해 그 브랜치로 파일들이 보내졌는데, 이번에는 옵션체크를 안해서 기존의 디폴트 브랜치가 없던 상태라 디폴트 브랜치 하나가 생성되었다.

profile
나 미대 나온 개발자야~

0개의 댓글