Git
개발자의 기본 소양이라 할 수 있는 Git을 사용해본다. 깃을 사용하기 위해서는 먼저 Git 프로그램을 다운받아야 한다.
공식 사이트 : https://git-scm.com/downloads
깃을 사용하기 위해 작업 폴더를 생성했다. 이 폴더에서 shift+우클릭을 하여 파워쉘을 연다. git을 사용하기 전에 git config를 이용해 설정을 해놓아야 하기 때문이다. git config —global 은 git의 전역 설정이며, 이메일과 닉네임은 커밋을 누가 작성했는지 표시하기 위해 작성한다.
git config --global user.email "이메일"
git config --global user.name "닉네임"
에디터(VsCode 사용함)로 폴더를 오픈한 다음, 새 터미널을 만들고 [ git init ]을 입력한다. git init을 입력하면 현재 디렉토리를 기준으로 Git 저장소가 생성된다. (해당 디렉토리 내부에 .git이라는 폴더가 자동으로 생성된다.)
git init
저장소를 생성하였으므로 git을 본격적으로 사용해본다. index.html 파일을 생성하고 짧은 코드를 입력해 주었다.
<html>
<p>깃허브 연습용 파일입니다.</p>
</html>
이제 git을 이용하여 레포지토리에 파일의 상태를 기록해보자. 먼저, Git에는 3가지의 영역이 있다.
● Working Directory : 내가 작업하고 있는 프로젝트의 디렉토리(폴더)
● Staging Area : 커밋을 하기 위해 git add 명령어로 추가한 파일들이 모여있는 공간. 즉, commit 전 commit할 파일들을 골라 넣어두는 곳.
● Repository : 커밋된 파일의 버전들을 모아놓는 장소.
staging area에 파일을 보관하는 행위를 '스테이징' 이라고 하며, git add 명령어를 통해 스테이징을 할 수 있다. 그리고 실제 repository, 즉 저장소에 저장하는 것을 '커밋' 이라고 한다. 이는 git commit 명령어를 사용한다. 따라서 과정은 아래와 같다.
1. git add로 staging area에 기록할 파일을 선택한다.
2. git commit 메세지를 통해 repository에 기록한다.
[git add 파일명] 명령어를 사용해 파일을 스테이징하고, [git commit -m '메세지'] 로 스테이징한 파일을 커밋해보자.
그런데 이 '커밋(commit)' 이라는 것은 무엇일까? Git Textbook(https://git.jiny.dev/commit/history/) 에 의하면 다음과 같다.
● 깃은 개발 중인 소스 코드의 이력을 관리 합니다. 커밋(commit)은 깃에서 코드의 변화를 기록하는 것을 의미합니다. 모든 코드의 변경 이력은 커밋이라는 행동을 통하여 기록이 됩니다.
● 즉, 커밋은 의미 있는 변경 작업들을 저장소에 기록하는 동작입니다.
따라서 한 개의 '커밋' 이란 한 개의 '코드 변경 이력' 을 뜻한다. index.html 파일의 코드에 <p>태그를 한줄 추가하고, 다시 add와 commit을 해 주었다.
<html>
<p>깃허브 연습용 파일입니다.</p>
<p>문장을 한개 더 추가합니다.</p>
</html>
add 명령어로 한번에 모든 파일을 스테이징 하기 위해서는 [git add .] 을 사용한다. 디렉토리 내의 모든 파일을 add 해 줄 것이다. txt파일을 만들고, git add . 을 하여 모든 파일을 스테이징 해 주었다.
// 2dex.txt
텍스트 파일을 추가하였습니다.
git log 명령어는 커밋 기록을 파악하기 위한 명령어이다. --graph 옵션을 넣으면 그래프로 그려주기도 한다.
[git log --all --oneline] 을 입력하면 커밋한 모든 내역을 출력해준다.
[git status] 를 통해 작업 디렉토리와 스테이징 영역의 상태를 알 수 있다. 단, 커밋된 프로젝트 기록에 관한 정보는 표시되지 않는다. status에는 세 가지의 영역이 있다.
● Changes to be committed: 스테이징 영역에 있는 변경 내용을 보여준다.
● Changes not staged for commit: 워킹 디렉토리에 있는 변경 내용을 보여준다.
● Untracked files: 워킹 디렉토리에 있는, 아직 한 번도 해당 Git 저장소가 관리한 적 없는 새로운 파일을 보여준다.
2dex.txt를 수정하고 저장한 뒤, add과 commit을 실행하지 않은 상태로 git status를 실행해본다.
//2dex.txt
텍스트 파일을 하나 추가하였습니다.
텍스트 파일에 한줄 추가.
Changes not staged for commit 은 변경된 파일이 스테이징되지도 않았고, 커밋되지도 않았음을 뜻한다.
use "git add <file>..." to update what will be committed 는 git add를 이용하여 파일을 스테이징 할 수 있음을 알려주는 문장이다.
그 뒤에 git restore <file>..." to discard changes in working directory 이라는 문장이 있는데, git restore는 스테이징된 파일을 취소시키고 싶을 때 사용한다.
즉, [git restore --staged 파일명] 을 사용하면 스테이징된 파일을 취소할 수 있다.
커밋 없이 [git add .] 를 하고 상태를 출력해본 뒤, 다시 커밋을 한 뒤 상태를 출력해보았다.
'GIT' 카테고리의 다른 글
[Git] git branch (0) | 2022.12.29 |
---|---|
[Git] git diff (0) | 2022.12.29 |
댓글