12강 구현 중심 ⏱ 약 80분

 

0. 학습 목표

→ study-notes 폴더를 Git 저장소로 만들고 Obsidian 안에서 커밋을 남깁니다.

더보기

0.1 이번 글에서 다룰 내용

 

10강에서는 사본 저장의 불편을 확인하고, Git이 저장 시점을 기록하는 방식으로 이 불편을 처리한다는 점을 구분했습니다.

11강에서는 GitHub 계정과 토큰을 만들고 Obsidian에 Git 플러그인을 설치했습니다.

 

이번 12강은 내 컴퓨터 안에서 커밋을 쌓는 부분까지입니다.

 

study-notes 폴더를 실제로 Git 저장소로 만들고, 학습 기록을 커밋 단위로 남깁니다.

GitHub에 올리는 작업은 13강에서 합니다.

 

💡 핵심: 되돌리기는 아직 커밋하지 않은 변경에만 적용되므로, 소스 제어 화면의 변경 목록이 판단 기준입니다.

 

 

 

 

0.2 이번 강의 실습 내용

 

작업은 모두 Obsidian 창을 벗어나지 않고 저장소 초기화, 커밋, 되돌리기를 모두 수행할 수 있습니다.

 

다음 직접 실습합니다.

① 저장소 초기화하기
→ ② 사용자 정보 등록과, 커밋 제외 파일 지정하기
→ ③ 소스 제어 화면에서 커밋 만들기
→ ④ 히스토리 화면에서 커밋 이력 확인하기
→ ⑤ 커밋하지 않은 변경 되돌리기
→ ⑤ 커밋한 이력도 되돌려 봅니다.

 

 

준비물은 두 가지입니다.

  • 11강을 마친 상태. 플러그인 Git이 설치되어 있고 켜져 있어야 합니다
  • 학습 단위 1에서 만들어 온 study-notes 폴더를 Vault로 연 Obsidian

 

1. Git 저장소를 만들기

→ Vault를 Git 저장소로 초기화합니다.

더보기

 

 

1.1 (study-notes 폴더에서) Git 저장소로 초기화하기

 

화면 캡처: 명령 팔레트에서 Git을 입력해 Initialize a new repo 항목이 표시된 화면]

 

Obsidian에서 Ctrl+P를 눌러 명령 팔레트(Command palette)를 열고 Git을 입력하면 이 플러그인의 명령만 걸러집니다. 목록에서 새 저장소를 만드는 항목(Initialize a new repo)을 고릅니다.

 

 

Initialized new repo 알림이 표시되면 성공입니다.

 

 

지금 Vault로 열어 둔 study-notes 폴더 안에 .git 폴더가 만들어졌고, 앞으로의 모든 커밋이 여기에 저장됩니다.

.git 폴더는 이름이 마침표로 시작해 Obsidian 화면에는 보이지 않습니다.

⚠ 주의: 이 명령은 지금 열려 있는 Vault 폴더를 대상으로 동작합니다. 다른 폴더를 Vault로 열어 두었다면 그 폴더가 저장소가 되므로, 실행 전에 Obsidian 창 왼쪽 아래에 표시된 Vault 이름이 study-notes인지 확인하세요.

 

이 단계에서 나올 수 있는 증상은 두 가지입니다.

증상 원인 해결 방법
Git을 찾을 수 없다는 메시지가 나온다 실습 PC에 Git이 없거나, Obsidian이 Snap으로 설치되어 Git을 실행할 수 없음 강사에게 알린다. 설치 방식과 Git 설치 상태를 함께 확인한다
저장소가 아니라는 메시지가 나온다 저장소 초기화를 하지 않았거나, 다른 폴더를 Vault로 열었음 Vault 이름이 study-notes인지 확인하고 저장소 초기화 항목을 실행한다

 

 

2. 사용자 정보, 커밋 제외 파일 등록

→ Git 사용자 정보를 등록하고, Git 커밋에 제외할 폴더를 지정합니다.

더보기

 

 

2.1 (플러그인 설정에서) Git 사용자 이름과 이메일 등록하기

 

Git은 커밋을 만들 때 사용자 이름이메일을 함께 기록합니다.

이 두 값은 Git의 user.nameuser.email 설정에서 가져옵니다.

 

11강에서 설정 화면을 열었을 때는 이 항목이 없었습니다. 이 플러그인의 값은 Vault 가 Git 저장소일 때만 저장소에 관계된 설정 항목을 표시하기 때문입니다. 앞 절에서 저장소를 만들었으므로 이제 화면에 나타납니다.

 

 

▶ 지금 해보세요

  1. [설정](Settings) → 왼쪽 목록 아래쪽의 [Git]으로 이동합니다.
  2. Commit author 절의 Author name for commit에 이름을 입력합니다.
  3. Author email for commit에 11강에서 GitHub 가입에 사용한 이메일 주소를 입력합니다.

 

두 값을 GitHub 계정 정보와 같게 맞추면, 나중에 저장소 페이지에서 커밋을 볼 때 본인 계정이 만든 커밋으로 표시됩니다. 등록한 값이 실제로 커밋에 들어가는지는 오늘 첫 커밋을 만든 뒤 히스토리 화면의 작성자 이름으로 확인합니다.

 

여기 입력한 이메일 주소는 커밋에 그대로 기록되고, 저장소를 공개하면 다른 사람도 볼 수 있습니다.

 

공개하고 싶지 않은 주소라면 GitHub이 제공하는 공개용 대체 주소를 사용할 수 있습니다. GitHub의 [Settings] → [Emails] 화면에서 Keep my email addresses private 항목을 켜면 숫자+사용자이름@users.noreply.github.com 형식의 주소가 표시되고, 이 주소를 대신 입력하면 됩니다.

 

 

 

 

2.2 커밋 대상에서 제외할 파일 지정하기

 

Obsidian은 Vault 안에 .obsidian이라는 설정 폴더를 만듭니다. 여기에는 화면 배치, 설치한 플러그인, 플러그인이 만든 파일이 들어 있습니다.

 

학습 기록이 아니고 웹에 공개할 내용도 아니므로 커밋 대상에서 제외합니다.

 

명령 팔레트에서 제외 목록을 편집하는 항목(Edit .gitignore)을 고릅니다. 편집 창이 열리면 다음 한 줄을 입력하고 저장합니다.

 

.obsidian/

 

.gitignore는 Git에게 관리 대상에서 제외할 파일과 폴더를 알려 주는 파일입니다.

폴더 이름 뒤의 /는 그 폴더 전체를 제외한다는 뜻입니다.

 

이 파일 자체는 제외 대상이 아니므로 커밋에 포함됩니다.

 

지금까지 만든 저장소 상태

study-notes/
├── .git/              # 🗸 1.1에서 저장소 초기화
├── .gitignore         # ✏️ 이번 절에서 제외 목록 작성
├── notes/             # 🗸 학습 단위 1에서 작성한 노트
├── lectures/          # 🗸 배부받은 강의 요약본
└── .obsidian/         # X 제외 대상. 커밋에 포함하지 않음

⚠ 주의: 제외 목록은 커밋을 만들기 전에 지정해야 합니다. .obsidian 폴더를 이미 커밋한 뒤에 제외 목록에 넣으면 커밋 이력에는 그대로 남습니다.

 

3. 소스 제어 화면에서 커밋 만들기

→ 바뀐 파일과 변경된 줄을 확인하고 커밋 2개를 만듭니다.

더보기

 

 

3.1 소스 제어 화면 열고 변경 목록 확인하기

 

명령 팔레트에서 소스 제어 화면을 여는 항목(Open source control view)을 고릅니다.

오른쪽 사이드바에 화면이 열립니다.

 

[화면 캡처: 오른쪽 사이드바에 열린 소스 제어 화면의 Changes 목록]

 

Changes 목록에 지금까지 작성한 노트 파일과 방금 만든 .gitignore가 표시됩니다.

아직 커밋한 적이 없으므로 모든 파일이 변경 목록에 올라옵니다.

 

.obsidian 폴더의 파일은 목록에 없어야 정상입니다.

있다면 제외 목록이 저장되지 않은 것이므로 1.3을 다시 수행하세요.

 

 

 

 

3.2 첫 커밋 만들기

 

지금까지 작성한 노트 전체를 첫 커밋으로 남깁니다.

 

▶ 지금 해보세요

  1. 목록 위쪽 도구 모음에서 모든 변경을 커밋 대상으로 선택하는 항목(Stage all)을 누릅니다. 파일이 Staged Changes 목록으로 옮겨집니다.
  2. 커밋 메시지 입력란(Commit Message)에 학습 기록 시작을 입력합니다.
  3. 커밋하는 항목(Commit)을 누릅니다.

 

커밋이 끝나면 목록이 비워집니다. 마지막 커밋과 지금 폴더의 내용이 같아졌다는 뜻입니다.

 

커밋 메시지에는 이 시점에서 무엇을 했는지 적습니다. 10강에서 확인한 대로 되돌아갈 지점은 각 커밋에 붙여 둔 이 설명을 보고 고릅니다.

💡 참고: 도구 모음에는 Commit-and-sync 항목도 있습니다. 이것은 선택, 커밋, 내려받기, 올리기를 한 번에 실행하는 항목입니다. 지금은 올릴 원격 저장소가 없고 단계를 구분해 확인해야 하므로 누르지 않습니다. 이 항목은 13강에서 다시 설명합니다.

 

이 단계에서 나올 수 있는 증상은 세 가지입니다.

 

증상 원인 해결 방법
설정 화면에 Commit author 절이 보이지 않는다 저장소를 만들기 전에 설정 화면을 열었음 저장소 초기화를 먼저 실행한 뒤 설정 화면을 다시 연다
커밋할 때 작성자 정보가 없다는 메시지가 나온다 Commit author 설정이 비어 있음 설정 화면에서 이름과 이메일을 입력한 뒤 다시 커밋한다
Commit을 눌러도 아무 변화가 없다 선택된 변경이 없음 Stage all을 먼저 눌러 파일을 Staged Changes 목록으로 옮긴다
변경 목록에 .obsidian 폴더의 파일이 보인다 제외 목록이 저장되지 않음 Edit .gitignore를 다시 실행해 .obsidian/ 한 줄이 있는지 확인한다

 

 

 

 

3.3 두 번째 커밋 만들고 변경된 줄 확인하기

 

이력이 쌓이는 것과 변경 내용을 확인하는 방법을 함께 봅니다.

 

Obsidian에서 notes 폴더의 study-log 노트를 열고 다음을 추가한 뒤 저장합니다.

 

### 12강. Git 저장소 시작

- study-notes 폴더를 Git 저장소로 만들고 커밋을 남기기 시작했다.

 

소스 제어 화면을 다시 봅니다. notes/study-log.md가 변경 목록에 나타납니다.

 

파일 이름을 눌러 보세요. 마지막 커밋과 비교한 결과가 표시되고, 방금 추가한 줄이 추가 표시로 구분됩니다.

 

커밋하기 전에 무엇이 바뀌었는지 이 화면에서 확인하면 커밋 메시지를 정확하게 적을 수 있습니다.

▶ 지금 해보세요

  1. Stage all을 누릅니다.
  2. 커밋 메시지에 12강 학습일지 추가를 입력합니다.
  3. Commit을 누릅니다.

 

지금까지 쌓인 커밋 상태

study-notes/
├── .git/                     # 🗸 커밋 2개 저장
│   ├── 학습 기록 시작         # 🗸 2.2에서 생성
│   └── 12강 학습일지 추가      # ✏️ 이번 절에서 생성
└── notes/study-log.md         # 🗸 두 번째 커밋에 반영

 

노트를 고쳤는데 변경 목록에 나오지 않으면 소스 제어 화면의 새로 고침 항목(Refresh)을 누릅니다.

 

4. 커밋 이력 확인하고 커밋하지 않은 변경 되돌리기

→ 히스토리 화면으로 이력을 확인하고 잘못 고친 노트를 되돌립니다.

더보기

 

4.1 히스토리 화면에서 커밋 이력 확인하기

 

명령 팔레트에서 이력 화면을 여는 항목(Open history view)을 고릅니다. 지금까지 만든 커밋이 최신 순으로 표시됩니다.

 

[화면 캡처: 히스토리 화면에 커밋 두 개가 최신 순으로 표시된 목록]

 

 

맨 위에 12강 학습일지 추가, 그 아래에 학습 기록 시작이 있습니다. 각 줄에는 커밋 메시지와 함께 작성자와 시각이 표시됩니다.

 

작성자 이름이 비어 있거나 다른 이름으로 보이면 1.2에서 입력한 설정 화면의 Commit author 값을 확인하세요.

 

커밋 하나를 누르면 그 커밋에서 바뀐 파일 목록이 나오고, 파일을 누르면 그 시점의 변경 내용을 볼 수 있습니다. 며칠 전 노트를 어떻게 고쳤는지 확인할 때 사용하는 화면입니다.

 

 

 

 

3.2 커밋하지 않은 변경 되돌리기

 

커밋을 만들어 두면 그 시점의 상태로 돌아갈 수 있습니다. 노트를 잘못 고쳤을 때 쓰는 절차를 직접 확인합니다.

▶ 지금 해보세요

  1. Obsidian에서 study-log 노트를 열고, 방금 추가한 ### 12강. Git 저장소 시작 절을 통째로 지웁니다.
  2. 소스 제어 화면을 봅니다. notes/study-log.md가 다시 변경 목록에 나타납니다. 마지막 커밋 이후 이 파일이 바뀌었고 아직 커밋되지 않았다는 뜻입니다.
  3. 그 파일 줄에 마우스를 올리면 나타나는 되돌리기 항목(Discard)을 누릅니다.
  4. 되돌릴지 확인하는 창이 뜹니다. 대상 파일이 study-log.md 하나인지 확인하고 진행합니다.
  5. Obsidian의 노트 화면을 다시 봅니다. 지웠던 절이 그대로 돌아와 있습니다.

 

Obsidian은 파일이 바뀌면 화면을 자동으로 갱신하므로 결과가 바로 보입니다.

 

되돌리기는 아직 커밋하지 않은 변경만 마지막 커밋 상태로 되돌립니다. 판단 기준은 소스 제어 화면입니다.

 

변경 목록에 올라와 있는 파일은 되돌릴 수 있고, 목록에 없는 내용은 이미 커밋된 것이므로 이 방법으로 되돌아가지 않습니다. 이미 커밋된 내용을 되돌리는 방법은 13강에서 다룹니다.

⚠ 주의: 되돌린 내용은 다시 살릴 수 없습니다. 커밋하지 않은 변경이므로 Git에 기록이 남아 있지 않기 때문입니다. 그래서 되돌리기 전에는 변경 목록에서 대상 파일을 먼저 확인해야 합니다. 명령 팔레트의 모든 변경을 한 번에 되돌리는 항목(CAUTION: Discard all changes)은 저장소 전체의 커밋하지 않은 변경이 사라지므로 이 과정에서는 사용하지 않습니다.

 

되돌리기를 했는데 지우려던 내용이 그대로 있으면, 그 내용이 이미 커밋되어 마지막 커밋에 포함되어 있는 것입니다. 이때는 노트를 직접 고친 뒤 새 커밋을 만듭니다. 절차는 13강에서 확인합니다.

 

4. 정리 노트를 커밋하고 13강으로 넘기기

→ 오늘 사용한 절차를 노트로 정리해 커밋하고 상태를 확인합니다.

더보기

4.1 절차를 정리한 노트 만들어 커밋하기

 

오늘 사용한 절차를 노트로 정리하고 커밋합니다. 다음 강의부터 이 절차를 반복해서 사용합니다.

▶ 지금 해보세요

  1. notes 폴더에 git-setup이라는 노트를 만듭니다.
  2. 다섯 가지를 적습니다. 저장소를 초기화한 명령 이름, 커밋 작성자 정보를 등록한 설정 항목 이름, 커밋 대상에서 제외한 폴더와 그 이유, 커밋을 만드는 순서(Stage all → 커밋 메시지 입력 → Commit), 커밋하지 않은 변경을 되돌리는 방법과 되돌릴 수 없는 경우입니다.
  3. 소스 제어 화면에서 변경 목록에 이 노트만 있는지 확인합니다.
  4. 커밋 메시지를 Git 저장소 설정 정리 노트 추가로 적고 커밋합니다.

 

완료 기준은 세 가지입니다. 히스토리 화면 맨 위에 직접 적은 커밋 메시지가 있고, 그 아래에 오늘 만든 커밋 2개가 남아 있으며, 소스 제어 화면의 변경 목록이 비어 있으면 완료입니다.

 

 

 

 

4.2 저장소 상태를 확인하고 13강으로 넘기기

 

다음 여섯 가지가 모두 확인되면 오늘 실습이 끝난 것입니다.

 

확인 항목 기대 결과 확인 방법
저장소 초기화 소스 제어 화면에 변경 파일 목록이 표시됨 소스 제어 화면 확인
제외 설정 변경 목록과 커밋에 .obsidian 폴더의 파일이 없음 소스 제어 화면과 히스토리 화면 확인
커밋 이력 커밋 3개(학습 기록 시작, 12강 학습일지 추가, 과제 노트 추가)가 최신 순으로 표시됨 히스토리 화면 확인
작성자 정보 각 커밋에 본인 이름이 표시됨 히스토리 화면에서 커밋 확인
변경 내용 확인 파일 이름을 눌렀을 때 추가된 줄이 구분되어 표시됨 소스 제어 화면에서 파일 선택
되돌리기 되돌리기 실행 후 지운 절이 노트에 복구됨 되돌리기 절차 직후 노트 확인

 

학습 기록이 커밋 단위로 남기 시작했습니다. 다만 이 커밋은 아직 실습 PC 안에만 있어서, PC가 고장 나면 함께 사라지고 다른 사람에게 보여줄 수도 없습니다.

→ 다음 개별 강의

13강에서는 11강에서 만든 계정으로 GitHub에 공개 저장소를 만들고, 오늘 만든 커밋을 그 저장소로 올립니다. 이때 11강에서 발급한 토큰을 사용합니다. 원격 저장소에서 바뀐 내용을 내 컴퓨터로 내려받는 절차와, 이미 커밋된 내용을 되돌리는 방법도 함께 확인합니다.