게으른개발너D

[Git] CLI 1 - 버전 관리 (1) 본문

개발/ETC

[Git] CLI 1 - 버전 관리 (1)

lazyhysong 2023. 2. 12. 14:01

original Git을 사용해서 버전관리의 CRUD를 공부할 것이다.

 

Git CLI

Set Up


Git 설치하는 방법 Windows 버전

https://git-scm.com/

클릭해서 설치!

전부다 next 클릭하면 된다.

windows 시작 메뉴에서 git을 검색하면 Git Bash라는 프로그램이 설치되었을 것이다.

열면 터미널 창이 나온다.

git을 입력해서 성공적으로 설치되었는지 확인해 준다.

 

 

 

 

 

 

 

Git CLI

버전 관리의 시작


저장소(repository) 만드는 방법이다.

터미널 또는 Git Bash를 연다.

Documents 폴더에 git이라는 디렉토리를 만들려고 한다.

Window면 폴더를 열어서 바로 폴더를 만들어주면 된다.

또는 명령어로 만들 수 있다.

cd Documents 입력하여 Documents 폴더로 들어간다.

mkdir git 을 입력하면 Documents 폴더 안에 git이라는 디렉토리가 만들어진다.

 

cd git 입력하여 git 폴더로 들어간다.

그 안에 새로운 디렉토리를 만들 것이다.

디렉토리 이름은 hello-git-cli

mkdir hello-git-cli 입력

cd hello-git-cli 를 입력하여 안으로 들어간다.

이제 이 디렉토리를 Git에게 버전관리를 하라고 시킬 것이다.

git init . 입력

init은 initalize란 의미로 초기화란 뜻이고 .은 현재 디렉토리를 의미한다.

ls -al 을 입력하면 해당 디렉토리 안에 .git 이라는 폴더가 생성되어 있음을 확인할 수 있다.

 

 

 

 

 

 

 

Git CLI

버전의 생성


 

버전을 생성하는 방법들을 살펴보자.

1. 버전 생성

우리가 하려는 건 파일을 변경했을 때 변경사항들을 버전으로 만들어서 관리하는 것.

1. Working Tree
우리가 파일을 수정하는 곳
2. Staging Area
버전으로 만들려고하는 파일들
3. Repository
만들어진 버전

이제 우리가 생성한 디렉토리에 파일을 만들려고 한다.

파일 이름은 hello1.txt

nano hello1.txt 를 입력한다.

 

요런 화면이 나오는데 연습을 간단하기 하기위해 숫자 1만 적어준다.

이 화면에서 나갈려면 컨트롤+x 를 누르면 된다.

저장할거냐는 말이 나오는데 y를 누르면 된다.

파일이 hello1.txt가 맞냐는 말이 나오면 엔터를 누르면 된다.

cat hello1.txt 를 입력하면 저장한 파일 내용을 볼 수 있다.

요렇게 1을 입력한게 나온다.

 

우리가 git을 사용하면서 젤 많이 나올 명령어가 있는데, 그건 status라는 것이다.

status는 상태라는 뜻.

git status 를 입력한다.

git에게 지금 네 상태가 어때? 라고 물어보는 것이다.

No commits yet이라는 결과가 나왔는데, 이건 아직 버전이 없다는 뜻이다.

우리는 git에게 나 이러이러한 걸 버전관리할 거야라고 알려줘야한다.

그렇지 않으면 git은 그걸 없는셈 친다.

hello1.txt는 아직 git에게 관리하라는 명령을 하지 않았기 때문에

위에 나온 결과처럼 Untracked files라고 나온다.

이걸 버전으로 만들기 위해서는 Staging Area에 올려야한다.

이때 사용하는 명령어가 add이다.

git add hello1.txt 입력

다시 git status 를 입력하면

Changes to be committed 라는 결과가 나온다.

버전이 될 파일들의 목록에 hello1.txt 가 추가되었다는 뜻이다.

이제 커밋을 해보자.

git commit -m "입력할 메세지" 를 입력

이제 해당 파일이 레파지토리로 이동되었다.

다시 git status 를 입력해 보자

이제 커밋할 것이 없다, 버전으로 만들 것이 없다라는 결과가 뜬다.

버전이 잘 만들어졌는지 확인해 보자.

git log 입력

요런 결과가 나온다.

파일 수정을 해보자.

nano hello1.txt 입력 해서 그 안에 숫자 2를 추가해 보자.

그리고 git status 를 입력하면

수정 사항이 Working Tree에 있다는 결과가 나온다.

git add hello1.txt 입력하고 다시 git status를 본다.

이제 수정사항이 Staging Area에 올라가 있다.

git commit -m "입력할 메세지" 를 입력

이제 git log 를 입력해보자.

Message 2가 추가 되었는 것을 확인할 수 있다.

nano 파일명 : 파일 생성 또는 수정
git add 파일명 : 해당 파일을 Staging Area에 올리기 (버전으로 만들 파일 목록에 추가)
git commit -m "메세지" : Staging Area에 있는 파일들을 레파지토리에 commit 하기
cat 파일명 : 해당 파일명 살펴보기
git status : git의 현재 상태 보기
git log : 버전으로 만들어진 것 로그 보기

 

2. 여러개의 파일을 하나의 버전으로 만들기

우리가 보통 작업할 때는 여러개의 파일을 수정한다.

파일 수정을 여러개 해보자.

먼저 hello1.txt 에 숫자 3을 추가했다.

그리고 hello2.txt 파일을 만들고 거기에도 숫자 3을 넣었다.

git status 를 입력하면

두 개의 파일 다 Working Tree에 있는 상태인 걸 확인할 수 있다.

여기서 hello1.txt 는 한 번 버전관리를 했기 때문에 git에 의해 관리되고 있는 상태이다.

git add hello2.txt 입력

git status

git commit -m "Message 3"

입력하여 커밋하고 난 후 git log 를 입력해서 결과를 보면 이렇게 나온다.

git log --stat 을 입력하면 log를 자세히 알려준다.

 

 

 

 

 

 

 

 

Git CLI

버전간의 차이점 비교


버전관리를 하면 버전과 버전 사이 비교를 할 수 있다.

hello1.txt를 조금 수정해 보자.

3을 지우고 three 를 넣었다.

git diff 를 입력

3이라는 숫자가 없어지고 three가 생성되었음을 알려준다.

마지막 버전과 Working Tree 사이의 차이점을 알려주는 것이다.

아 이건 좀 아니다 싶어서 방금 작업한 것을 없애고 싶다면 git reset --hard 입력

cat hello1.txt 를 입력해서 안을 들여다 보면, 수정하기 전 상태로 되돌아 가 있음을 확인할 수 있다.

git log -p 입력

레파지토리에 올린 파일의 최근 수정된 사항들을 볼 수 있다.

에러가 발생했을 때 어떠한 것이 수정되었는지 볼 수 있다는 장점이 있다.

 

 

 

 

 

 

 

 

 

Git CLI

Checkout과 시간 여행


checkout은 특정 버전으로 Working Tree를 변경시키는 방법이다.

git log 입력

맨 위 오른쪽을 보면 HEAD가 master를 가리키고 있다.

이건 현재 버전이 가장 최신 버전임을 말하는 것이다.

이제 현재 버전을 Message 2 를 커밋 했을 때로 되돌려보자.

일단 두번째 커밋에 있는 commit 옆에 쓰인 긴~ 아이디를 복사한다.

그리고 git checkout 아이디 입력

ls -al 을 입력하면

 

hello1.txt 만 있는 걸 확인할 수 있다.

cat hello1.txt를 입력하면

예전으로 돌아가 있다.

다시 가장 최신이었던 상태로 돌아가고 싶다면 git checkout master 입력!

ls -algit log 를 입력해 원래대로 돌아왔는지 확인해 본다.

매번 git add 파일명git commit 을 하지않고 이 두가지를 동시에 하려면, git commit -am "메세지" 를 입력하면 된다.

하지만 이건 한번 버전 관리를 했던 파일만 커밋을 해준다.

위에서는 커밋할 때 git commit -m "메세지" 를 입력했는데, 이건 커멘트 창 한줄로 메세지를 쓸 때 편리하게 쓸 수 있다.

git commit 만 입력하면 커밋 메세지를 쓰기 위한 기본 에디터가 뜬다.

여러 줄을 편리하게 쓸 수 있다.

참고로 낯선 에디터가 나온다면 git config --global core.editor "nano"

이렇게 입력하면 기본 에디터가 나노 에디터로 설정된다.

출처

https://opentutorials.org/course/3839

 

Git CLI - 버전관리 - 생활코딩

수업소개 소위 git이라고 하면 command line에서 사용되는 프로그램을 말합니다. 이 수업에서는 바로 이 프로그램의 사용법을 살펴봅니다.    수업대상 이 수업은 아래와 같은 상황에 있는 분들을

opentutorials.org

 

'개발 > ETC' 카테고리의 다른 글

Framer  (0) 2024.06.02
테스트 코드 작성에 대해  (0) 2023.10.23
[Git] CLI 1 - 버전 관리 (2)  (0) 2023.02.12
Publishing on Github (Github Desktop)  (0) 2023.02.12
Windows Setup for Developer  (0) 2023.02.12
Comments