1일차 Git & GitHub - 기본 개념

변승훈·2022년 3월 28일
0

1. Git bash를 사용하기 위한 기본 개념과 Linux 명령어

1-1. 기본 개념

  • 커널 : HW와 응용 프로그램을 이어주는 운영체제의 핵심 시스템SW
  • shell : 운영자와 커널을 이어준다, 시스템 sw에게 명령을 내려준다.
  • $ : 사용자의 입력을 받을 준비가 됐다.
  • ~ : 로그인한 사용자의 최상위 폴더를 의미한다.
  • / : 운영체제가 접근할 수 있는 최상위 폴더이다.

1-2. 명령어 & 의미

  • cd : change directory, 해당 directory로 이동한다.
    단, 파일 목록 안에 있는 directory로만 이동이 가능하다.
    ex) cd Documents
  • cd .. : 상위 directory로 이동
  • cd . : 현재 directory로 이동 (의미없음)
  • "-" : flag(옵션) ex) ls -a
  • -- : 단어 전체를 쓸 때 --사용
    ex) ls --all
  • ls : list segment, 파일의 목록을 출력한다.
  • ls -l : line by line 한줄 한줄 표현(상세정보까지)
  • ls -a : 숨긴파일을 포함한 모든 파일의 목록 출력한다.(all)
  • / : directory간에 단계를 구분하기 위한 구분자
  • pwd : 현재 directory, 현재 작업중인 directory 출력
  • mkdir : make directory, directory를 생성한다.
    ex) mkdir dev
  • touch : 파일 생성, 새파일 생성, 빈파일 생성 / 생성할 수 있는것이 제한되어 있다.(컴파일러 과정때문에)
    ex) touch index.html
  • mv 파일 directory/ : 파일을 해당 directory로 이동한다.
  • mv 파일 .. : 파일의 위치를 상위 directory 이동시킨다.
    • ****: 에스터리스크(모두), 와일드 카드
  • cp 파일 파일위치/ : 파일을 똑같이 복사, 현재 위치에도 존재
  • rm 파일 : 해당 파일을 삭제한다.
    directory는 rm으로 지울 수 없다 : 빈 directory 제거 => rm -r directory/
  • f : 강제로 명령
    ex) rm -rf directory
  • cat 파일명 : 파일 들어가지 않고 안의 내용 출력
    ex) cat README.md

1-3. Vim

Vim은 vi 호환 텍스트 편집기이다.

vi 파일이름.프로그램명(py,txt..)를 입력하면 vim을 사용할 수 있다.
어떤 프로그램으로 열어라 명시해줘야한다.

  • i : Insert mode (수정모드)
  • esc : normal mode (일반모드)
  • ":" : command mode, shift + ; 를 normal mode(esc)에서 눌러 진입한다.
    ( : )를 누른 뒤 아래의 명령어들을 사용할 수 있다.
  • w : 현재 파일 명으로 저장, 나가지 않는다.
  • q! : 수정한 것이 없던 것처럼 해서 나간다. 강제 종료한다.
  • wq : 저장 후 종료한다.
  • wq! : 강제 저장 후 종료한다.

2. Git & Github

2-1. Git과 Github

  1. Git : VSC(Version Control System) 버전 관리 도구
    == SCM(Source Code Management : 형상관리의 하위분류)
    < SCM(Softwqre Configuration Management : 형상관리, software 개발에서 관리 해야 하는 것 인력, 코드 제원...등의 크게 묶음)

  2. Git object

  • Blob
    파일 하나의 내용에 대한 정보(파일에 대한 수정사항)
  • Tree
    Blob이나 subtree의 메타데이터(디렉토리 위치, 속성, 이름 등)
  • Commit
    커밋 순간의 스냅샷 (Blob+Tree)
  1. 주로 사용하는 대표적인 원격저장소
  • Github : opensource
  • Bigbuket : jira, trello와 함께 많이 사용, 대기업이 주로 사용한다.
  • Gitlab : 사설 서버 구성 가능해 보안이 중요한 프로젝트에 사용한다.

    Git과 Github는 다르다
    Git : 버전관리 시스템 tool | Tool
    Github : 원격저장소 웹 서비스 | Web Service

2-2. git Process Flow and Command

  • git add -> staging area(분류하기 위한 임시공간) 에 올린다., blob 생산
  • git commit -> blob에 대한 메타데이터 작성, 메세지를 남긴다.
  • git push -> githib(원격 저장소)에 저장한다.
profile
잘 할 수 있는 개발자가 되기 위하여

0개의 댓글