깃 사용
오늘은 Git 사용을 정리한다. 깃(Git)은 버전 관리를 위한 소프트웨어이다. 깃의 쓰임은 아래와 같다.
깃의 쓰임
버전 관리
- 어떠한 필요에 의해서 이전 버전의 코드들을 저장해 놓을 필요가 있다.
협업
- 규모가 어느 정도 있는 프로젝트의 경우 각 폴더를 다 같이 공유하여 사용하여야 하는 경우가 많다.
코딩 공부를 조금 해보셨으면 깃허브라는 말을 들어봤을 것이다. 깃허브는 아래와 같다.
깃허브 : 깃에서 전송되는 파일들이 저장되는 공간을 제공하는 서비스
깃허브에서는 다른 사람이 올린 프로젝트를 오픈소스로 사용할 수 있다.
깃의 상태 및 영역
깃은 세 가지 상태와 세 가지 영역으로 구분되어진다. 각 상태와 영역을 알고 있으면 깃의 work flow를 보다 쉽게 이해할 수 있을 것이다.
깃의 세 가지 상태
■ Committed : 데이터가 데이터베이스에 안전하게 저장된 상태
■ Modified : 데이터를 수정하였으나 아직 로컬 데이터베이스에 commit되지 않은 상태
■ Staged : 현재 수정한 데이터를 곧 커밋 할 것이라고 표시한 상태
깃의 세 가지 영역
.git directory : 깃이 프로젝트의 메타데이터와 데이터베이스를 저장해 두는 영역
working tree : 프로젝트의 한 버전을 checkout한 것, 깃이 추적중인 파일들이 위치하는 영역
staging area : 커밋 할 준비가 된 파일들이 위치하는 영역
깃 예시
오늘은 Xv6의 터미널이 아닌 깃 베쉬로 깃을 해보았다.
베쉬를 이용하면 윈도우 상에서도 리눅스 명령어를 이용 할 수 있게 된다.
깃 다운로드
터미널에 아래 코드를 입력해 깃을 다운로드한다.
sudo apt-get install git-all
만약 apt-get 에러 발생시?
sudo rm –rf/var/lib/dpkg/lock
sudo apt-get update
sudo atp-get install git-all을 입력해보기
깃 사용자 등록
git config —global user.name “my name” : 유저 이름 성정
git config —global user.email email@email.com : 유저 이메일 설정
깃 사용자 등록 확인
git config —list : 사용자 등록 등 구성 확인
깃 로컬 저장소 생성
깃을 자신의 컴퓨터에서만 이용한다면 로컬 저장소를 이용하는 것이다. 쉽게 말해 로컬 저장소로 설정된 디렉토리는 그 안에서 깃 명령어들을 사용하여 버전 관리가 되어질 수 있다.
깃 로컬 저장소 생성
mkdir gitRepository: gitRepository라는 이름의 디렉토리 생성
cd gitRepository : gitRepository 디렉토리로 이동
git init : 깃 디렉토리로 지정, 내부에 git.이 생긴다
echo “hello world” > helloWorld : helloWorld 파일을 생성함
git status : 깃 상태 확인. 아직 커밋 된 것이 없으며, untarcked한 파일이 존재함을 알려줌
git init : 해당 디렉토리를 깃 저장소로 사용, .git 디렉토리가 생성됨
git add 파일 : 해당 파일을 Git으로 관리되도록 설정
git status : 깃 저장소 상태 확인, helloworld파일을 트레킹중
git commit -m "메시지" : "메시지"를 남기며 커밋을 함
git log : 깃의 히스토리 출력. 결과를 보면 메시지, 날짜와 작성자 등이 있는 것을 확인 가능하다.
파일의 수정 삭제 track 등의 도식도는 아래와 같다.
정리
git init : 깃을 시작 .git(깃 디렉토리) 만듬
git add 파일 : 파일을 staged함.
git commit : staged된 파일을 commit함
'컴퓨터 > 리눅스 등' 카테고리의 다른 글
[리눅스/유닉스] 깃 올리기(원격 깃 저장소에 올리기)/깃허브 (0) | 2022.11.14 |
---|---|
[리눅스/유닉스]VI 라인 번호 표시 (0) | 2022.06.11 |
[리눅스/유닉스] 폴더 구조, 상대경로와 절대경로 (0) | 2022.05.20 |
[리눅스/유닉스] cat명령어 사용법, 리눅스 파일 만들기 (0) | 2022.05.20 |
[리눅스/유닉스] Shell이란 ? 셸의 뜻과 예시 (0) | 2022.05.20 |
댓글