훌이
후리스콜링개발
훌이

블로그 메뉴

  • 왈 (iOS APP)
  • Github
전체 방문자
오늘
어제
  • 전체 (171)
    • ⭐️ 개발 (140)
      • JAVA (4)
      • Web (5)
      • iOS & Swift (94)
      • iOS Concurrency (4)
      • Rx (18)
      • Git (6)
      • WWDC (1)
      • Code Refactor (3)
      • Server (1)
    • ⭐️ Computer Science (22)
      • 운영체제 (10)
      • 네트워크 (5)
      • PS (7)
    • 경제시사상식 (8)
    • 기타 등등 (0)

인기 글

최근 글

05-13 06:54

티스토리

hELLO · Designed By 정상우.
훌이

후리스콜링개발

[Git] 깃 사용법 정리(1) - 깃으로 버전 관리하기
⭐️ 개발/Git

[Git] 깃 사용법 정리(1) - 깃으로 버전 관리하기

2021. 1. 3. 11:06
728x90
반응형

오늘 공부한 것은 바로바로 깃과 깃허브다

그 전까지 깃과 깃허브의 차이도 잘 몰랐고, 깃을 사용하는 방법도 야매로 배워서 레포지터리에 그저 공부한 흔적을 남기곤 했었는데 오늘에서야 비로소! 깃 사용법을 깨우쳤다! ( >>>> 이래놓고 막상 또 협업하면 어버버할 지도... )

생각보다 그렇게 복잡하지 않더라구!! 그러니 겁먹지 말자!

 

여하튼 깃은!! 협업을 하려면 필수적으로 알아야 하는 지식인 만큼... 자세하게 살펴보쟘..!

 

Git?

깃은 분산형 버전 관리 시스템(여러 리모트 저장소를 만들어 둘 수 있음)이다.

소스 코드들을 통째로 복제해 저장하는데 이때 소스 코드들의 변화를 시간에 따라 기록하고, 특정 시간의 소스 코드를 다시 불러와 작업을 할 수 있게 해준다.

 

쉽게 말하자면 1월 2일에 1차 버전, 1월 3일에는 2차 버전의 작업물을 냈다고 한다면 우리는 시간이 지나고 작업물을 계속 수정할지라도 깃을 통해 1차 버전의 파일을 가져와 쉽게 작업할 수 있다는 뜻이다.

 

그래서 후에 작업물을 통째로 날려도 복원이 쉽고, 누가 어느 시점에 어떤 부분을 변경했는지 체크가 용이하다.

 

깃은 CLI(Command Line Interface) 또는 GUI(Graphic User Interface)를 통해 사용할 수 있는데

나는 맥의 터미널이라는 CLI 프로그램을 통해 깃을 사용하는 법을 다뤄보려고 한다.

 

 

Git 사용법

우선, 한 눈에 보기 쉽게 도식화 했다.

쉽게 이해하기 위해 직접 프로젝트를 생성 후 깃을 통해 버전을 관리해보자!

 

(상황설명)

1. Mac Desktop에 'Story'라는 폴더를 만들고 깃으로 버전을 관리하려고 한다.

➜  ~ git:(master) ✗ cd Desktop
➜  Desktop git:(master) ✗ mkdir Story
➜  Desktop git:(master) ✗ cd Story

 

2. chapter1.txt 텍스트 파일을 만들어주고 내용 작성한다.

➜  Story git:(master) ✗ touch chapter1.txt
➜  Story git:(master) ✗ open chapter1.txt

 

3. git init을 통해 깃 저장소를 초기화해준다.

➜  Story git:(master) ✗ git init
/Users/ruheekim/Desktop/Story/.git/ 안의 빈 깃 저장소를 다시 초기화했습니다

 

4. ls -a를 입력해주면 숨겨져있는 파일 항목들까지 확인할 수 있는데 .git이 생성된 것을 볼 수 있다.

➜  Story git:(master) ✗ ls -a
.            ..           .git         chapter1.txt

 

5. git status는 파일의 상태를 확인하기 위한 명령어다.

현재 chapter1.txt 파일이 Working Directory에 있고(아직 이 파일은 Staging Area에 있지 않음)

tracking 되지 않았다는 걸 알려준다.

➜  Story git:(master) ✗ git status
현재 브랜치 master

아직 커밋이 없습니다

추적하지 않는 파일:
  (커밋할 사항에 포함하려면 "git add <파일>..."을 사용하십시오)
	chapter1.txt

커밋할 사항을 추가하지 않았지만 추적하지 않는 파일이 있습니다 (추적하려면 "git
add"를 사용하십시오)

 

6. git add를 통해 Staging Area에 추가할 수 있고, 파일의 변화를 tracking 할 수 있다.

- git add 파일명 (= 특정 파일만 추가)

- git add . (= 경로 내의 모든 파일을 추가)

➜  Story git:(master) ✗ git add chapter1.txt
➜  Story git:(master) ✗ git status
현재 브랜치 master

아직 커밋이 없습니다

커밋할 변경 사항:
  (스테이지 해제하려면 "git rm --cached <파일>..."을 사용하십시오)
	새 파일:       chapter1.txt

git add 후 git status를 통해 파일이 tracking된 것을 확인할 수 있다.

 

 

7. git commit -m "커밋 메세지"

- 커밋 메세지는 구체적으로 작성하는 것이 좋고, present형으로 작성하는 것이 일반적인 관습이다.

➜  Story git:(master) ✗ git commit -m "Complete Chapter 1"
[master (최상위-커밋) 03ebd92] Complete Chapter 1
 1 file changed, 1 insertion(+)
 create mode 100644 chapter1.txt

 

8. git log로 누가 언제 커밋했는지 확인할 수 있다.

➜  Story git:(master) git log

commit 03ebd927eff99c4e294f4f0cde484060 (HEAD -> master)
Author: heerucan <email@email.com>
Date:   Sun Jan 3 10:44:52 2021 +0900

    Complete Chapter 1

 

* git diff ?

- 만약 chapter1.txt의 내용을 변경 후 어떤 점이 달라졌는지 확인하기 위해서는 git diff 명령어를 사용한다.

➜  Story git:(master) git diff
diff --git a/chapter1.txt b/chapter1.txt
index a1b67d5..d931ad1 100644
--- a/chapter1.txt
+++ b/chapter1.txt
@@ -1 +1 @@
-chapter1. There is an apple.    // 이 부분이 기존 내용
\ No newline at end of file
+chapter1. There is an apple.amdlkjsfjal  // 이 부분이 수정 이후 내용

 

* git checkout 파일명

- 그리고 변경하기 이전으로 되돌리기 위해서는 git checkout chapter1.txt를 해주면 된다.

➜  Story git:(master) ✗ git checkout chapter1.txt
Updated 1 path from the index

 

 

 

 

 

* 왜 Working Directory에서 바로 Local Repo로 안가고 중간에 Staging Area를 거칠까?

-> 그 이유는 바로 때때로 모든 파일을 다 커밋하고 싶지 않을 수 있기 때문이다.

 

 

 

그 다음은 깃허브 레포지터리에 푸쉬하는 방법~!!!

 

9. 먼저 깃허브 계정을 만들고

우상단의 + 버튼을 눌러주고 드롭박스에서 New repository를 선택한다.

Repository Name을 설정하고 Create Repository를 누르면 레포 생성!

 

(기타 설명과 Public으로 할 것인지 Private으로 할 건지,

그리고 Add a README file은 알아서 잘,, 상황에 따라 스스로 판단해서 선택하면 된다..)

 

생성 완료 후 화면은 아래와 같다.

우리는 커맨드 라인 툴 즉, 터미널로 해줄 거기 때문에

해당 레포지터리의 주소를 복사해온다. github.com/heerucan/Git-Prac3.git 이 부분을 복사!!

 

 

 

10. git remote add origin 깃허브레포주소

- 로컬 저장소에 있는 파일들을 깃허브의 원격 저장소로 올려주겠다는 뜻이다.

➜  Story git:(master) git remote add origin https://github.com/heerucan/Git-Prac3.git

 

11. git push -u origin master

로컬 저장소를 원격 저장소로 업로드한다.

- origin : 원격 저장소의 이름

- master : 브랜치 이름 = default/main branch

➜  Story git:(master) git push -u origin master

 

깃허브를 새로고침하면 우리가 로컬 저장소에서 작업했던 파일들이 업로드된 것을 확인할 수 있다.

728x90
반응형
저작자표시 비영리 변경금지

'⭐️ 개발 > Git' 카테고리의 다른 글

[Git] Git 명령어 모음  (0) 2022.10.14
[Git] Shell명령어 모음  (0) 2022.10.14
[Git] 깃 사용법 정리(3) - .gitignore  (0) 2021.01.03
[Git] 깃 사용법 정리(2) - Fork와 Pull Request  (0) 2021.01.03
[Git] Github 페이지 만들기  (0) 2020.08.23
    '⭐️ 개발/Git' 카테고리의 다른 글
    • [Git] Shell명령어 모음
    • [Git] 깃 사용법 정리(3) - .gitignore
    • [Git] 깃 사용법 정리(2) - Fork와 Pull Request
    • [Git] Github 페이지 만들기
    훌이
    훌이

    티스토리툴바