Ch_1_Git(1)

gyeol2678·2022년 3월 30일
0

Summary

  • 리눅스 역사
  • 디렉토리 생성, 이동, 복사, 삭제
  • vim 편집기
  • Git & Github

Notes

1. Kernal & Shell

커널은 HW와 응용프로그램을 연결해주고, 사용자는 shell을 통해 커널을 제어한다. 즉,
Applications
|
OS(Kernal) <-- Shell <-- User
|
Hardware
흐름을 가진다.

터미널에서 커서 앞 특수문자($)는 사용자의 명령을 받을 준비가 되었다는 의미이다.

운영체제가 접근할 수 있는 최상위 폴더는 ' / '
' / ' 아래에는 수많은 시스템 파일들이 존재한다.
/home에 들어가면 로그인 가능한 user를 확인할 수 있다.

명령어에 옵션을 넣을 때는 ' - ' (플래그)로 표기한다.

2. Git

Git은 VCS(Version Control System)이며, SCM(Source Code Management)이기도 하다.
이는 더 큰 개념의 SCM(Software Configuration Management)에 포함된다.
Git은 툴이고 Github은 웹서비스이다!!
주요 특징은,

  • 빠른 속도, 단순한 구조
  • 분산형 저장소 지원
  • 비선형적 개발(수천개의 브랜치)
  • 소스코드 주고받기 없이 동시작업 가능, 생산성 증가
  • 수정내용은 commit 단위로 관리, 배포 뿐 아니라 원하는 시점으로 checkout 가능
  • 새로운 기능 추가는 branch로 실험, 개발이 완료되면 merge로 반영
  • 인터넷 연결 불필요

2-1. Git Objects

  • Blob
    파일 하나의 내용에 대한 정보(파일에 대한 수정사항).

  • Tree
    Blob이나 subtree의 메타데이터(디렉토리 위치, 속성, 이름 등).

  • Commit
    커밋 순간의 스냅샷 (Blob+Tree).

2-2. Git Process Flow

2-3. Github의 대체 서비스는?

  • Bitbucket
    jira, trello와 함께 많이 사용.
  • Gitlab
    사설 서버 구성 가능해 보안이 중요한 프로젝트에 사용.

Commands

/* bash */
ls		//list segment
cd		//change directory
mkdir	//make directory
pwd		//print working directory
touch	//파일 생성
mv		//이동
cp		//복사
rm		//삭제
cat		//내용 보기

/* vim */
//visual mode(v), normal mode(esc), insert mode(i)
//해당 단축키로 각 모드에 진입할 수 있다
wq!		//write, quit, overide
hjkl	//arrow keys
o,O		//open line
d		//delete
y		//yank(copy)
p		//paste
a,A		//append, append at the end of the line
u		//undo

/* Git 전역 설정 */
//수정이 필요한 경우 vi ~/.gitconfig 에서 수정
git config --list
git config --global user.name "myname"
git config --global user.email "myemail@email.com"
git config --global core.editor "vim"
git config --global core.pager "cat"
git config --global --unset user.name	//설정 취소

0개의 댓글