본문 바로가기
Computer Science

[Git Hub 기초(1)] git 설정! setting 하기 ! 및 강의를 들으며

by 우지uz 2023. 4. 13.

 

 

git에 대한 기초 강의를 듣고, 기록하고 있네요!
터미널에 입력해서, git에 대한 명령을 시도 해보았습니다.

강의를 따라하며 작성한 것이기에, 깃을 처음 하시는 분들이라면 
이해되지 않으실 거라 생각합니다 ㅠㅠ! 

유튜브에 git 기초 강의들이 많으니, 그것들을 참고 하시면 될 것 같습니다!

 

ksw4060@gimseong-uui-MacBookPro MukAwesome % git     

usage: git [-v | --version] [-h | --help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           [--config-env=<name>=<envvar>] <command> [<args>]

 

다음은 여러가지 상황에서 자주 사용하는 깃 명령입니다:

 

작업 공간 시작 (참고: git help tutorial)
   clone     저장소를 복제해 새 디렉터리로 가져옵니다
   init      빈 깃 저장소를 만들거나 기존 저장소를 다시 초기화합니다
변경 사항에 대한 작업 (참고: git help everyday)
   add       파일 내용을 인덱스에 추가합니다
   mv        파일, 디렉터리, 심볼릭 링크를 옮기거나 이름을 바꿉니다
   restore   Restore working tree files
   rm        파일을 작업 폴더에서 제거하고 인덱스에서도 제거합니다
커밋 내역과 상태 보기 (참고: git help revisions)
   bisect    이진 탐색으로 버그를 만들어낸 커밋을 찾습니다
   diff      커밋과 커밋 사이, 커밋과 작업 내용 사이 등의 바뀐 점을 봅니다
   grep      패턴과 일치하는 줄을 표시합니다
   log       커밋 기록을 표시합니다
   show      여러가지 종류의 오브젝트를 표시합니다
   status    작업 폴더 상태를 표시합니다
커밋 내역을 키우고, 표시하고, 조작하기
   branch    브랜치를 만들거나, 삭제하거나, 목록을 출력합니다
   commit    바뀐 사항을 저장소에 기록합니다
   merge     여러 개의 개발 내역을 하나로 합칩니다
   rebase    커밋을 다른 베이스 끝의 최상위에서 적용합니다
   reset     현재 HEAD를 지정한 상태로 재설정화합니다
   switch    Switch branches
   tag       태그를 만들거나, 표시하거나, 삭제하거나, GPG 서명을 검증합니다
협동 작업 (참고: git help workflows)
   fetch     다른 저장소에서 오브젝트와 레퍼런스를 다운로드합니다
   pull      다른 저장소 또는 다른 로컬 브랜치에서 가져오거나 통합합니다
   push      원격 레퍼런스 및 그와 관련된 오브젝트를 업데이트합니다
'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.

git 사용하기 전에, 내 이름과 이메일을 기본적으로 설정해주기
git config --global user.name "Kim SungWoo"
git config --global user.email "gokorea1214@kakao.com"
git 이 관리하는 세 개의 공간

작업 디렉토리, 스테이지, 저장소의 역할

 

 

스테이지에 등록할 것들은, 버전으로 만들고 싶은 변경사항 들이다

위 자료들은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

스테이지에 등록되있는 파일들을, 저장소에 버전1로 등록한다
git add 의미
git commit 의미

 

위 자료들은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

하나의 버전이 만들어지는 과정

 

MAC에서 경로, 폴더 이동 하기

pwd : 현재 경로를 보여줌

ls : 현재 디렉토리에 있는 파일들 목록

ls -al : 현재 디렉토리에, 숨긴 파일 까지 다 보여주세요

cd ~/Desktop/awesome : Desktop에 awesome 폴더로 이동하겠다

cd .. : 상위 폴더(디렉토리) 로 이동하겠다

 

cd awesome : 하위 폴더인 awesome 폴더로 이동하겠다는 의미 입니다

mkdir 폴더이름 : 현재 경로에 디렉토리를 생성합니다.

touch a.txt : a.txt라는 비어 있는 파일 만들기 

rm a.txt : 파일 지우기

 

vi 편집기 : 명령어만을 이용해서, 안에 있는 내용을 편집하는 편집기.
(나무위키 : https://namu.wiki/w/vi)
개요 : vi는 빌 조이가 1976년도에 만든 UNIX 계열 운영체제에서 주로 쓰이는 유서 깊은 오픈 소스 문서 편집기이다.
"Visual editor"라는 뜻이다.
요즘 대다수의 
유닉스와 리눅스 배포판에서 터미널에 vi를 치면 
vim의 vi 호환모드가 뜨도록 하여 요즘에 리눅스나 유닉스를 배운 사람들은 vim이 vi인 줄 아는 경우도 있다.
vim은 vi와 호환되기는 하지만 개발자부터 시작해서 완전히 다른 물건이다.
원칙적으로 텍스트 모드에서 작동하도록 만들어졌기 때문에
어떠한 플랫폼용 버전을 사용해도기본적으로 모든 GUI가 텍스트 문자로 이루어져 있다. 내부 창 구분이나 구역 분할 등등.

a.txt 를 vi 편집을 하고 싶으면

vi a.txt를 입력한다.

 

입력 모드로 전환 : a 혹은 i 를 입력한다

입력 모드 종료 : esc 를 누른다

insert 메세지가 안뜨는 걸 확인할 수 있다.

a 혹은 i를 눌러서 입력 모드 활성화 하고
hello ksw! 엔터키 쳐서 다음 줄로 내려온 다음에
esc를 눌러서 입력 모드를 비활성화 하고

:w 를 입력해서, 내용물을 저장한다.

 

편집기 내에서 입력 모드 비활성화 후 

:w 저장하기 
:q 편집기 종료하기
:wq 저장후 종료하기(한꺼번에)

cat a.txt : a.txt 에 있는 내용을 보여줘라

vi a.txt : 편집기로 들어가서
:set nu 라고 입력하면, 

편집기 왼쪽에, 줄마다 번호가 보이게 되고

:set nonu 라고 입력하면
번호가 안보이게 된답니다. 

 

본격적으로 git 세팅을 시작.

 

1. git init : 깃 저장소를 초기화, 첫세팅시작!

했을 때, .git 이 생성되었음을 확인했습니다

작업 디렉토리란, .git이 있는 디렉토리인데
git init을 통해서 디렉토리를 작업 디렉토리로 설정했다는 말이 됩니다. 

위 사진은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

버전 관리의 대상들 ! 만들기. 

touch a.txt 를 통해 만들었습니다.
이후
git status 를 통해, 현재 디렉토리 현황을 점검하면

추적하지 않는 파일에 a.txt에 있다는 것을 확인할 수 있다.

 

b.txt 파일을 하나 더 생성해서
git status 해보았습니다.

 

만약 변경사항을 버전 관리의 후보로 올리려면

git add 를 통해, 파일들을 
스테이지 stage에 add 해야한다.

git add a.txt
git add b.txt
와 같이, 파일 하나하나 add할 수 있지만

git add . 
를 입력하면, 현재 경로에 있는 모든 파일들을 
한꺼번에 add 할 수도 있습니다.

현재 스테이지에서, 제외 시키는 (내리는) 방법은

git rm --cached a.txt 와 같이 입력하면 됩니다

버전으로 만들기 위해서, 다시 a.txt 파일을 add 하고

 

위 사진은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

현재까지, 작업 디렉토리를 생성했고

스테이지에 파일들을 add해서 
스테이지에 a.txt 파일과 b.txt 파일을 등록해뒀습니다. 

위 사진은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

다음으로 할 작업은

위 사진은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

커밋이다. 

git commit 을 입력하면, 커밋되는데

 

git commit 을 입력하면 vi 편집기가 열립니다.

 

여기에, 커밋 메세지를 입력해야 한다. 
그 이유는, 커밋이라는 것은 유의미한 변화인데 
그 변화를 버전이라고 합니다. 

그 버전은 곧 커밋인데, 버전들이 쌓여서 하나의 집이 완성 됩니다.

거기서 어떤 것들의 변화를 주었는지, 기록하지 않으면 
어떤 버전에 따른 변화가 있었는지 알지 못합니다. 

그렇기 때문에, 커밋 메세지를 입력해야 합니다.

1 커밋 메세지는 보통 제목과 본문으로 이루어져 있습니다. 
2 create a.txt, b.txt 
3 
4 created a.txt and b.txt
5 this commit was made by ksw in 230413

라고 입력했고, 저장하고 종료했습니다. 

 

더이상 커밋할 사항이 없음을 알 수 있었습니다. 

 

커밋 메세지는, 
"제목"과 "본문"으로 이루어지는데

굳이 본문을 작성하지 않고, 제목만 적고 싶을 때에는
git commit 을 통해 vi 편집기를 열지 않고

git commit -m " 커밋 제목"을 입력하면

바로 커밋 됐음을 , 알 수가 있습니다. 

 

위 사진은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

 

지금 까지 만든 commit 들을 확인하는 방법 : git log

 

두 개의 커밋이 존재 하고, 되어있다는 것을 확인할 수가 있습니다. 

위에서 부터, 작성자
날짜
파일이름
커밋 메세지들을 확인할 수가 있습니다.

 

위 사진은 스파르타 코딩클럽, 강민철 튜터님의 강의 자료임을 알려드립니다!

이후 두번째 게시글에서는

깃 허브를 이용해서, 푸쉬하는 방법을 끄적여 보겠습니다 ㅎㅎ 

오늘도 화이팅!