- 파일을 git bash로 접근하기 위해서는 이전에 설정한 디렉토리를 우클릭하고 open git bash here 를 클릭하면 된다.
기본 브랜치명 수정하기
- git init과 동시에 만들어지는 default 브랜치 이름이 master로 되어 있는데 이를 main으로 바꾸려고 한다.
이때 사용하는 명령어는 git config --global init.defaultBranch main 이다.
- 해외에서는 master/slave 같은 차별적 표현을 배제하도록 권고한다고 하여 이렇게 Branch명을 변경한다고 한다.
git config --global init.defaultBranch main
- 명령어를 입력하고 잘 수정되었는지 확인하기 위해 git config --list를 입력하고, init.defaultbranch=main 으로 되어 있는 것을 확인하면 된다.
git이라는 폴더를 rm이라는 명령어로 지워보겠다.(하위 폴더까지 모두 삭제된다.)
rm -rf .git/
ls -a
폴더를 지운뒤에 ls -a을 입력하여 숨김폴더가 제대로 지워졌는지 확인할 수 있다.
확인 후, 다시 git init을 입력하여 Branch명이 main으로 바뀐 것을 확인한다.
이렇게 다양한 명령어들이 있으면 헷갈릴 수 있는데, 명령어에 대한 설명을 확인할 수 있는 방법들이 있다.
- git help <동사>
- git <동사> --help
- man git-<동사>
예를 들어 git config 명령에 대한 매뉴얼 페이지 도움말을 얻으려면 git help config 입력.
이렇게 하면 웹페이지가 새롭게 생성되어 확인할 수 있다.
더 간결한 방식으로 보고 싶다면 git <동사> -h 를 입력하면 된다. ex) git config -h
이것은 웹페이지 생성이 아닌, 사용 가능한 옵션에 대한 간략한 도움만 받을 수 있다.
git branch -M <Branch명> : 이를 활용하여 Branch의 이름을 쉽게 바꿀 수 있다.
- 위의 방식처럼 rm을 이용해 지우고 init을 통해 새롭게 만드는 방식보다 더 간단하다.
세 가지의 상태
- Git에는 파일이 존재할 수 있는 세 가지 주요 상태가 있다. 이는 Git의 핵심이며 지금부터 알아보도록 하겠다.
- modified(수정된), staged(스테이징된), committed(커밋된) 상태 세가지가 있다.
modified, staged, committed
- modified : 파일을 변경했지만 아직 데이터베이스에 commit하지 않은 상태
- staged : 현재 버전의 수정된 파일을 다음 commit snapshot에 포함하도록 표시한 상태
- committed : 데이터가 로컬 데이터베이스에 안전하게 저장된 상태
* snapshot(스냅샷) : 파일의 어떤 시점의 상태를 기록한 것
이로 인해 Git 프로젝트는 세 가지 주요 부분으로 구성된다.
- working tree(작업 트리), staging area(스테이징 영역), .git directory(Repository)
작업 절차는 대략 다음과 같다.
- init을 통해서 Repository 생성(기준점이 된다.)
- working directory(working tree)에서 변경사항을 체크해서 staging area에 올린다.(add와 같은 명령어가 있다, staging된 파일을 가지고 다시 뺄 수도 있다)
- 그러한 행위를 반복하다가 staging area에서 Repository로 기록한다.(commit)
Git 프로젝트의 주요한 세가지 부분
- working tree : 프로젝트의 한 버전을 단일 체크아웃한 것
- staging area : 일반적으로 Git directory에 포함된 파일로, 다음 commit에 포함될 내용에 대한 정보를 저장한다.
Git 용어로는 index(인덱스)라는 기술적인 이름이 있지만, staging area(스테이징 영역)이라는 표현도 잘 사용된다.
- Git directory : Git이라고 하는 프로젝트의 메타데이터와 객체 데이터베이스를 저장하는 곳
간략하게 working tree는 프로젝트의 한 버전을 의미하며, staging area는 그 버전으로부터 변경된 사항을 commit이전에 모아놓는 곳이다. 마지막으로 Git directory은 최종적으로 commit한 결과에 대해서 기록하는 곳이라고 할 수 있다.
'Pre_Course > Git&Github' 카테고리의 다른 글
| Git&Github_06(내용 확인, 변경사항(Snapshot) 비교하기) (0) | 2023.09.03 |
|---|---|
| Git&Github_05(local작업 GITHUB에 연동하기) (0) | 2023.09.02 |
| Git&Github_04(COMMIT 실습) (0) | 2023.09.02 |
| Git&Github_03(Git의 주요 작업 흐름) (0) | 2023.09.02 |
| Git&Github_01(Git 개요 및 설치) (0) | 2023.08.26 |