Git

YoonA Kim·2024년 10월 15일

Git

목록 보기
1/3

1. Git이란?

1) Git은 버전관리와 동시협업을 가능하게 해주는 툴이다.
2) Git의 역사
만든사람: 리누스 토발즈(Linus Torvalds) = 리눅스(Linux)라고 하는 운영 체제를 만든 사람
만든 목적: 빠른 속도, 단순한 디자인, 비선형적 개발 지원(수천개의 브랜치 병행 가능), 완전 분산형 시스템, 거대 프로젝트도 속도저하 문제 없음

3) Github란?
원격저장소 = 외부의 컴퓨터를 대신 만들어주는 서비스
내 컴퓨터가 아닌 Github에 나의 git 버전들을 백업해두는 곳.
즉, 다른 컴퓨터에서도 사용할 수 있게 해주고, 내 컴퓨터에 이상이 생겨도 문제없게 만들어주며, 또 다른 사람과 협업이 가능하게 해줌!
Git과 Github는 다름!

4) Git 다운로드 : https://git-scm.com/

참고) Git Bash = GWindows에서도 유닉스 커맨드를 사용할 수 있도록 해주는 프로그램.

Git Bash를 사용할땐 원하는 폴더에 들어가 오른쪽 클릭해서 Git Bash 열면 해당 폴더 위치에서 실행됨

2. Git 써보기

1) 커밋과 레포지토리
Commit 커밋 = 프로젝트 디렉토리의 특정 모습을 하나의 버전으로 남기는 행위와 그 각각이 버전을 부르는 것

Repository 레포지토리 = 커밋이 저장되는 곳. Git이 원하는 프로젝트의 시점마다 프로젝트 디렉토리의 구성요소의 모습과 변경사항에 대한 설명을 저장하는 곳.


2) git의 3가지 영역

  • working directory: 진짜 작업을 하는 로컬, 내 컴퓨터의 영역
  • staging area: git add로 working directory에서 '선별'된 git에 올라갈 요소. 만약 staging area가 없다면 원하는 것들만 선별적으로 커밋에 반영할 수 없게 됩니다.
  • repository: 최종적으로 변동 이력, 커밋들이 저장되는 곳

3) git 해보기
1. 프로젝트 디렉토리 만들기
2. - git init = 레포지토리 만들기

3. (최초에 한번만 하면 됨) 내가 누군지 정보 알려주기 :
git config user.name " "
git config user.email " "

4. add 하기: 커밋할 파일 지정해주기(add 하기 = staging are로 넣기):
git add (파일이름)
git add . >> 현재 디렉토리 내에 변경사항이 있는 모든 파일들을 add하기
5. 확인하기 : git status, 상단에는 add가 된 변동사항이, 하단에는 변동은 있었지만 stage are에 들어가지 않은 사항이 나온다. 어떤 것을 add했고 안했는지 꼭 확인하고 commit하기!!


  1. 커밋하면서 커밋메시지 남기기 : git commit -m "메시지 내용"

4) git의 4가지 상태
파일들은 아래의 2가지 상태를 가지고, tracked는 또 3가지 상태로 구분된다.
- untracked : 추적되지 않고 있다는 뜻으로, 파일 생성 이후 한번도 git add를 안해주면 이 상태.
- tracke
-- staged : 수정 후 add가 되어 staging are에 올라와있는 상태
-- unmodified : 최신 커밋의 모습과 비교했을 때 바뀐게 없는 상태. 커밋 직후 working directory 안의 모든 파일이 이상태임
-- modified : 최신 커밋과 비교했을 때 바뀐내용이 있는 상태

5) git add 취소하기
git reset 파일이름
staging area에서 파일을 제거, 하지만 변경된 새모습은 그대로 working directory에 남아있음!

6) git의 커멘드 사용법 알아보기
git help 커멘드이름

txt 파일이 열리며 자세한 설명을 볼 수 있다.

[정리]

  • git init : 현재 디렉토리를 Git이 관리하는 프로젝트 디렉토리(=working directory)로 설정하고 그 안에 레포지토리(.git 디렉토리) 생성
  • git config user.name 'codeit' : 현재 사용자의 아이디를 'codeit'으로 설정(커밋할 때 필요한 정보)
  • git config user.email 'teacher@codeit.kr' : 현재 사용자의 이메일 주소를 'teacher@codeit.kr'로 설정(커밋할 때 필요한 정보)
  • git add [파일 이름] : 수정사항이 있는 특정 파일을 staging area에 올리기
  • git add [디렉토리명] : 해당 디렉토리 내에서 수정사항이 있는 모든 파일들을 staging area에 올리기
  • git add . : working directory 내의 수정사항이 있는 모든 파일들을 staging area에 올리기
  • git reset [파일 이름] : staging area에 올렸던 파일 다시 내리기
  • git status : Git이 현재 인식하고 있는 프로젝트 관련 내용들 출력(문제 상황이 발생했을 때 현재 상태를 파악하기 위해 활용하면 좋음)
  • git commit -m "커밋 메시지" : 현재 staging area에 있는 것들 커밋으로 남기기
  • git help [커맨드 이름] : 사용법이 궁금한 Git 커맨드의 공식 메뉴얼 내용 출력
profile
코딩 배우는 중

0개의 댓글