Git이란?
git은 버전관리를 하기 위한 툴이다. 소프트웨어 개발에서 코드의 변경 이력을 추적하고 관리하는 데 사용된다. 프로젝트에 포함된 파일들의 버전을 저장하고, 여러 사람이 동시에 작업할 수 있게 도와준다.
Git을 사용하는 이유는 여러 사람이 동시에 작업할 수 있는 협업 환경을 제공하고, 코드 변경 이력을 기록하여 언제, 누가, 무엇을 변경했는지 추적할 수 있게 해준다. 또한, Git은 코드의 이전 상태로 되돌릴 수 있는 기능을 제공하여, 코드가 유실되거나 문제가 발생했을 때 안전하게 복구할 수 있다. 이 모든 기능은 효율적인 개발과 안정적인 프로젝트 관리를 가능하게 해서 전세계 개발자들이 많이 사용한다.
Git의 동작 원리
Working Directory(작업영역) -> Staging Area -> Repository
Working Directory (작업 디렉토리)
현재 개발 중인 프로젝트의 실제 파일들이 있는 곳이며, 여기서 실제 파일을 수정하고 작업한다.
Git은 이 디렉토리에서 파일 변경 사항을 추적한다. 하지만 그 변경 사항을 저장하지는 않는다.
Staging Area (스테이징 영역)
스테이징 영역은 git에 "다음 커밋에 포함할 파일"을 선택하는 공간이다. 수정한 파일을 git add 명령어로 스테이징 영역에 추가한다.
스테이징 영역은 커밋을 준비하는 곳으로, Git은 이곳에서 변경 사항을 기록한다. 즉, 커밋을 하기 전에 어떤 파일을 포함시킬지 결정할 수 있는 공간이다.
Repository (저장소)
커밋을 하면, 변경 사항이 Git의 로컬 저장소에 기록된다. 이때, Git은 커밋을 통해 파일의 상태를 저장하고 이력을 관리한다.
커밋된 내용은 Git의 기록으로 남게 되어, 언제든지 이전 상태로 되돌릴 수 있다.
git 설치하기
git-scm으로 접속한다.
모니터 그림의 Download for Windows 를 클릭한다.
64-bit Git for Windows Setup을 클릭한다.
다운로드 된 설치파일을 실행한다.
[Next] 버튼을 클릭한다.
파일 저장 경로를 지정한 뒤 [Next]를 클릭한다.
[Next]를 클릭한다.
[Next]를 클릭한다.
Git 에디터에 대한 설정이다. [Next]를 클릭한다.
branch에 대한 설정이다.
[Override the default branch name for new repositories] 선택하고 [Next]를 클릭한다.
[Git from the command line and also from 3rd-party sofyware]를 선택한 후 [Next]를 클릭한다.
[Use bundled OpenSSH] 선택 후 [Next]를 클릭한다.
[Use the Open library] 선택 후 [Next]를 클릭한다.
[Checkout Windows-style, commit Unix-style line endings]를 선택하고 [Next]를 클릭한다.
[Use MinTTY (the default of MSYS2)]를 선택하고 [Next]를 클릭한다.
[Fast-foward od merge]를 선택하고 [Next]를 클릭한다.
[Git Credential Manager]를 선택하고 [Next]를 클릭한다.
[Enable file system caching]을 선택하고 [Next]를 클릭한다.
위의 설정이 마쳤으면 Git이 설치된다.
[Finish]를 클릭하여 설치를 마무리한다.
git으로 관리할 해당 폴더 만들고 설정하기
컴퓨터에 Git으로 관리할 폴더를 생성한다. (예제로 c드라이브에 gitTest 폴더를 만들었다.)
관리할 폴더에 shift 키를 누른채로 오른쪽 마우스 버튼을 클릭한다.
[여기에 파워쉘 창 열기]를 클릭한다.
*cmd 창을 열어서 해도 되지만 cmd 창에서 하면 경로를 지정해주어야 해서 번거로울 수 있다.
아래의 명령문을 입력하면 컴퓨터에 설치된 git 버전을 확인할 수 있다.
git --version
git을 사용하려면 user 정보(이메일, 이름)를 등록해주어야 하는데 이건 git 설치 후 최초 한번만 등록한다.
git 명령어 사용방법은 git을 쓰고 옵션을 입력하는 방식이다.
// 이메일 등록
git config --global user.email "my_email@gmail.com"
// 이름 등록
git config --global user.name "my_name"
해당 폴더를 git으로 관리하기 위해 아래의 명령어를 입력한다.
git init
git init을 실행하면 해당 폴더에 숨김파일인 .git 파일이 생성되어 있는 것을 확인할 수 있다.
만약 더 이상 git 버전 관리를 하지 않을 거라고 한다면 아래의 파일을 삭제하면 된다.
.git 파일이 생성되었다고 해서 그 안에 모든 파일을 git이 관리하는 것은 아니다. 특별한 파일만 관리할 것인지 아니면 이 폴더에 들어가는 모든 파일을 관리할건지 설정해주어야 한다.
해당 폴더에 a.txt 파일을 생성했다고 가정하고 아래 명령어를 입력한다.
모든 파일들을 git으로 관리하려면 (.) 점을 찍으면 된다.
git add는 파일을 스테이징 영역에 추가한다.
// a.txt 파일만 git으로 관리할 경우
git add a.txt
// 폴더 안의 모든 파일을 git으로 관리할 경우
git add .
git status 명령어를 입력하면 현재 작업 디렉토리와 스테이징 영역의 상태를 확인할 수 있다.