728x90

터미널으로 GitHub을 이용해 보자

// Git 설치 확인 (버전 확인)
git --version

// 로컬 저장소 초기화
cd ~/로컬 저장소
git init 

// .gitignore 파일 생성
// Unity 프로젝트에는 Library, Temp, Obj, Logs 폴더 등을 Git에서 제외하는 것이 좋다. 이를 위해 .gitignore 파일을 생성한다.
echo "/[Ll]ibrary/" >> .gitignore
echo "/[Tt]emp/" >> .gitignore
echo "/[Oo]bj/" >> .gitignore
echo "/[Ll]ogs/" >> .gitignore
echo "/[Uu]ser[Ss]ettings/" >> .gitignore
echo "/[Bb]uild/" >> .gitignore
echo "/[Bb]uilds/" >> .gitignore
echo "/[Aa]ssets/[Aa]ddresses/" >> .gitignore

// 파일 추가 및 커밋
git add .
git commit -m "커밋 메세지"


// 파일 업로드 
git push -u origin main

// 저장소 복제
git clone <repository_url>

// 변경된 내용을 확인
git diff

// 파일 추가
git add <file_or_directory>

브랜치 관리 예시

// 로컬 브랜치 목록 확인
git branch

// 원격 브랜치 목록 확인
git branch -r

// 모든 브랜치 목록 확인
git branch -a

// 현재 브랜치 확인
git status

// 새로운 브랜치 생성
git branch new-feature

// 브랜치 전환
git checkout new-feature

// 새로운 브랜치 생성 및 전환
git checkout -b another-feature

// 로컬 브랜치 삭제
git branch -d old-feature

// 원격 브랜치 삭제
git push origin --delete old-feature    

원격 저장소 관련

// 원격 저장소 추가
git remote add origin 깃허브 주소

// 원격 저장소 목록 확인
git remote -v

// 푸쉬
git push origin <branch_name>

// 풀
git pull origin <branch_name>

// 강제 푸시
git push origin <branch_name> --force

// 병합 (다른 브랜치의 변경 사항을 현재 브랜치에 병합)
git merge <branch_name>

// 리베이스 
git rebase <branch_name>

태그 관련

// 태그 생성
git tag <tag_name>

// 태그 푸쉬
git push origin <tag_name>

기타

// 로그 확인
git log

// 파일 삭제
git rm <file>
728x90

'전산 > Git' 카테고리의 다른 글

Git - 01 깃 시작하기  (1) 2024.05.15
728x90

1.1 지옥에서 온 관리자, 깃

2005년, 리눅스 토르발스(Linus Torvalds)는 깃(Git)을 처음 세상에 소개

 

깃으로 무엇을 할 수 있을까?

깃의 제공하는 핵심 기능 3 가지

1. 버전 관리(Version Control)

문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템

2. 백업하기(Backup)
백업 : 현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것

 

3. 협업하기(Collaboration)
깃을 사용하면 팀원들이 파일을 편하게 주고받으면서 일할 수 있음

또한 누가 어느 부분을 어떻게 수정했는지 기록에 남기 때문에 나중에 오류가 생겼을 때도 파악하기 쉬움

 


깃 프로그램의 종류

1. 깃허브 데스크톱(GitHub Desktop)

- 깃 온라인 저장소 서비스인 깃허브에서 제공하는 프로그램

- 복잡한 깃 사용법을 그래픽 사용자 인터페이스(Graphic User Interface, GUI) 구현

- 사용이 쉬워서 누구나 쉽게 배울 수 있다는 장점이 있음

- 자주 쓰는 기본적인 기능 위주로 되어 있기 때문에 깃 고급 사용자가 되면 아쉬울 수 있음

 

2. 토터스깃

- 토터스깃(TortoiseGit)은 윈도우(Window)전용 프로그램으로 윈도우 탐색기의 빠른 메뉴에 추가되는 프로그램

 

3. 소스트리

- 소스트리(SourceTree)는 깃의 기본 기능부터 고급 기능까지 사용할 수 있는 프로그램

- 기능이 많아 사용법은 복잡하지만 어는 정도 익숙해지면 자유롭게 깃을 활용할 수 있음

 

4. 커맨드 라인 인터페이스

- 커맨드 라인 인터페이스(Command Line Interface, CLI)는 터미널 창에 직접 명령을 입력해서 깃을 사용하는 방식

- 소스트리나 깃허브 데스크톱 등 그래픽 사용자 인터페이스로 만들어진 프로그램으로 깃을 사용하는 것보다 어려움

- 기본적인 리눅스 명령을 알아야 하고, 깃 명령도 외워야 함

- 개발자 대부분은 커맨드 라인 인터페이스로 깃을 사용

 

1.2 깃 설치하기

깃을 사용하기 위해서는 먼저 사용자 컴퓨터에 깃을 설치해야 함

깃은 누구나 무료로 내려받아 설치할 수 있음

 

윈도우에 깃 설치하기

깃에서는 리눅스 명령을 사용하기 때문에 윈도우에 깃을 설치하면 리눅스 명령을 사용할 수 있도록 깃 배시(Git Bash)라는 프로그램이 함께 설치됨

 

맥에 깃 설치하기

맥(Mac) 운영 체제에서는 리눅스 명령을 기본으로 사용하기 때문에 깃을 설치한 후 맥에 있는 터미널 기능을 통해 깃을 사용

터미널 창이 나타나면 'git' 을 입력

$ git

깃이 제대로 설치됐다면 git 명령 다음에 쓸 수 있는 여러 옵션들이 나타남

 

깃 환경 설정

깃을 사용하기 전에 먼저 사용자 정보를 입력해야 함

깃은 버전을 저장할 때 마다 그 버전을 만든 사용자 정보도 함께 저장하기 때문

- 운영체제와 상관없이 리눅스 방식의 명령을 사용

$ git config --global user.name "Woomin"
$ git config --global user.email "changwoomin426@gmail.com"

깃에서 사용자 정보를 설정하려면 git config 명령을 사용

여기에 --global 옵션을 추가하면 현재 컴퓨터에 있는 모든 저장소에서 같은 사용자 정보를 사용하도록 설정

 

1.3 리눅스 명령 연습

현재 디렉터리 살펴보기

~(물결표시) : 현재 홈 디렉터리(home directory) 있다는 뜻
- 윈도우 탐색기의 '폴더(folder)를 리눅스에서는 '디렉터리(directory)'라고 부름 

 

$ pwd

'pwd' 명령을 입력하고 Enter 를 누르면 현재 위치의 경로가 나타남

- pwd는 'print working directory'의 줄임말

 

$ ls

현재 디렉터리에 어떤 파일이나 디렉터리가 있는지 확인할 때는 'ls' 명령을 사용

디렉터리와 파일 이름이 나타남

- ls 명령은 list의 줄임말

 

clear

터미널 창을 사용하다 보면 명령과 결과 화면으로 창이 가득 차게 됨

화면을 깨끗이 정리하려면 'clear' 명령을 입력

 

$ ls -la

리눅스 명령에 옵션(Option)을 추가하려면 붙임표(-)와 원하는 옵션을 나타내는 글자를 함께 입력

두 옵션을 함께 사용하려면 '-la' 또는 '-al' 처럼 순서에 상관없이 글자를 붙여서 추가 입력

옵션 설명
-a 숨김 파일과 디렉터리도 함께 표시
-l 파일이나 디렉터리의 상세 정보를 함께 표시
-r 파일의 정렬 순서를 거꾸로 표시
-t 파일 작성 시간 순으로 (내림차순) 표시

 

터미널 창에서 디렉터리 이동

터미널 창에서 디렉터리 사이를 이동할 때는 'cd' 명령을 사용 

- cd 명령은 'change directory'의 줄임말

$ cd ..

현재 위치에서 상위 디렉터리로 이동 cd 명령 다음에 한칸 띄고 마침표 2개를 입력

 

cd 명령을 실행한 후 $ 기호 위에 표시된 경로를 확인

$ cd ..
$ ls

한 단계 더 위인 (root) 폴더 까지 이동

ls 명령을 사용하면 파일과 디렉터리를 확인 가능

 

$ cd User

하위 디렉터리로 이동할 때는 cd 명령 다음에 이동할 하위 디렉터리 이름을 입력

 

$ cd ~

처음에 출발했던 디렉터리 , 즉 홈 디렉터리로 돌아가려면 '~'는 홈디렉터리를 나타냄

리눅스에서 디렉터리를 나타내는 기호

기호 설명
~ 현재 접속 중인 사용자의 홈 디렉터리를 가리킴
사용자 디렉터리라고도 부름
사용자 아이디는 5글자까지만 나타냄
./ 현재 사용자가 작업 중인 디렉터리
../ 현재 디렉터리의 상위 디렉터리

 

 

터미널 창에서 디렉터리 만들기 및 삭제하기

- mkdir 명령은 'make directory'의 줄임말

- 현재 홈 디렉터리가 아닌 다른 위치에 있다면 cd ~/Documents를 입력해서 Docu-ments 디렉터리로 이동한 후 mkdir을 사용

$ cd Documents
$ mkdir test

mkdir 명령을 실행하고 하위 디렉터리가 만들어져도 화면에는 아무것도 나타나지 않음

디렉터리가 제대로 만들어졌는지 확인하기 위해 ls 명령을 입력

 

$ rm -r test
$ ls

디렉터리를 삭제할 때는 'rm' 명령을 사용

이때 -r옵션을 붙이면 디렉터리안에 있는 하위 디렉터리와 파일까지 함께 삭제

- rm은 'remove'의 줄임말

여기서 기억해야 할 것은 삭제할 디렉터리의 상위 디렉터리에서 rm 명령을 입력해야 한다는 것

예를 들어 Documents 디렉터리 안에 있는 test 디렉터리를 삭제하려면 먼저 Documents 디렉터리로 이동한 다음

rm 명령을 입력해야함

 

빔에서 텍스트 문서 만들기

리눅스의 기본 편집기인 빔(Vim)은 터미널에서 사용할 수 있는 대표적인 편집기

- 맥에서는 빔 대신 나노(nano)를 사용하기도 함

$ cd Documents
$ mkdir test
$ cd test

기본적으로 홈 디렉터리부터 시작

Documents 디렉터리로 이동해서 test 디렉터리를 만들고 test 디렉터리로 이동

 

$ vim test.txt

현재 디렉터리에 test.txt을 만들기 위해 다음과 같이 'vim' 을 입력

빔에는 문서를 작성하는 '입력 모드''와 문서를 저장하는 'ex 모드' 가 있음

빔은 처음에 'ex 모드'로 열리기 때문에 키를 눌러도 반응이 없는 것

 

빔에서 텍스트를 입력하려면 ex모드에서 i 또는 a 를 눌러 입력 모드로 바꿔야 함

입력 모드가 되면 화면 왼쪽 맨 아래 '끼워넣기' 라는 단어가 뜨는데, 이때부터 텍스트를 입력 가능

- i 는 insert(삽입)를 의미

- a 는 add(추가)를 의미

텍스트 입력이 끝난 후 파일을 저장할 때는 다시 ex 모드로 돌아가야 함

Esc를 누르면 ex모드로 돌아감

그리고 콜론(:)을 입력하면 원래 '끼워넣기'가 있던 자리에 텍스트를 입력할 수 있음

':wq' 명령을 입력 'w' 는 저장 'q' 종료를 실행하는 명령

파일이 저장하면서 편집기가 종료 터미널 창으로 되돌아감

 

빔 ex 모드 명령 모음

명령 설명
:w 또는 :write 편집 중이던 문서를 저장
:q 또는 :quit 편집기를 종료
:wq (파일) 편집 중이던 문서를 저장하고 종료
파일 이름을 함께 입력하면 그 이름으로 저장
:q! 문서를 저장하지 않고 편집기를 종료
확장자가 .swp인 임시 파일이 생김

ex 모드에서 사용하는 명령은 콜론(:)으로 시작

 

 

깃에서 기본 편집기 변경

깃을 설치할 때 기본적으로 빔을 사용하도록 설정했지만, 자신이 익숙하게 사용하는 편집기가 있다면 깃을 설치한 후에도 다른 편집기로 바꿀 수 있음. 예를 들어 깃의 기본 편집기를 'Notepad++'로 바꾸려면 터미널 창에서 아래와 같이 입력

$ git config --global core.editor "notepad++"

 

 

텍스트 문서 내용 확인

터미널 창에서 간단히 텍스트 문서의 내용을 확인할 때는 리눅스의 cat 명령을 사용

- cat 명령은 concatenate(연쇄하다)의 줄임말

$ cat test.txt

cat 명령과 텍스트 파일 이름을 함께 입력

 

명령 설명
$ cat 파일 파일의 내용을 화면에 표시
$ cat 파일1,파일2 파일n > 새파일 파일 n개를 차례로 연결해서 새로운 파일를 만듬
$ cat 파일>>파일2 파일1의 내용을 파일2 끝에 연결

 

 

 

참고 문헌 : 이고잉 고경희. Do it! 지옥에서 온 문서  관리자 깃&깃허브 입문. 이지스퍼블리싱, 2019

728x90

'전산 > Git' 카테고리의 다른 글

GitHub - 터미널로 GitHub 이용하기  (0) 2024.07.03

+ Recent posts