2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Obsidian + Git 環境構築メモ(Windows)

Last updated at Posted at 2025-07-03

想定読者層: 初学者や久しぶりに触る人
あまり情報が無かったのでメモしたものを共有します。

執筆時の環境
  • Windows10
  • Gitのバージョン: 2.50.0.2
  • Obsidianのバージョン: 1.8.10
  • Gitに触るのは数年ぶり
使いそうなショートカットキー

Git bashのコピー:CTRL+INSERT
Git bashのペースト:SHIFT+INSERT

Obsidianのセットアップ

Obsidian公式からインストーラーをダウンロード。

セットアップについては、本体をDドライブに保存したいといったことが無ければ、全てデフォルトのままで問題ない。
起動したら以下のような画面が出てくる。
Pasted image 20250703173247.png
Vault=データの保管場所のこと。
左上にある『private-vault D:\Github』は私が既に作ったVaultが表示されているだけで、初回起動時は表示されない。

Open folder as vaultはパソコン買い換えたときとかに使う。
Open vault from Obsidian Syncは月額4$で他の端末と同期させる公式の機能を使う人向け。

Obsidian本体は日本語に対応しているので、お好みでEnglishから日本語に変更する。
※後述するが、コミュニティプラグインは対応していないものが多い。

Create new vaultCreateでVaultを作成する。

保管庫の名称は好きなもので構わない。
※直接PC内のディレクトリ名になるので/(スラッシュ)などは使えない。

ロケーションも好きな場所で構わないが、後にパスが必要になるのでメモしておく。
噂によるとクラウドにも保存できるらしいです。OneDrive等のクラウドに保存する方法は他の人の解説を参考にしてください。

Pasted image 20250703173655.png
コミュニティプラグインの設定は下で行います。

Githubの準備

Githubのアカウントの用意をする。
専用のリポジトリも作成する。
Githubのリポジトリ作成を詳しく解説した記事は無数に存在するので、ここでは画像は省略する。

Your RepositoriesNew

Repository name: 好きな名前を入力()
Obsidianの内容を全世界に公開したくない場合はPrivateを選択。
他はデフォルトのままで問題ない。

Gitのセットアップ

Gitの公式サイトからGitをインストール。

変える必要がある項目だけ解説する。
説明を載せていない項目はデフォルトのままNextで問題ない。

画面下部にあるOnly show new optionsにデフォルトで入っている✓を外す。

Pasted image 20250703170218.png

Adjusting the name of the initial branch in new repositoriesOverride the default branch name for new repositoriesにチェックを入れ、『main』と入力されていることを確認する。

これをやらないとブランチ名がmasterになり、Githubのデフォルトブランチ名mainと整合しなくなる。
Pasted image 20250703170457.png

Choosing HTTPS transport backendUse the OpenSSL libraryを選択

デフォルトではUse the native Windows Secure Channel libraryが選択されているが、Use the OpenSSL libraryを推奨している記事が多い。
Pasted image 20250703172350.png

Git, Githubの設定

ユーザ名とメールアドレスの設定

"username""useremail@email.com"は自分のものを入力してください。
一致していないと別の人がコミットしている扱いになるので、Githubに登録したものと同じだと望ましいです。

git config --global user.name "username"
git config --global user.email "useremail@email.com"
既に鍵が無いか確認
ls ~/.ssh/

以下のようなメッセージが表示されたらそのまま進む。
既にid_ed25519がある場合は鍵生成を飛ばして専用に別名の鍵を作成したりして対応する。
パスは環境によって変わります。

ls ~/.ssh/
ls: cannot access `/c/Users/Owner/.ssh`: No such file or directory

known_hosts, known_hosts.old等が表示されても、id_ed25519は存在しなければ基本的には問題ない。

ls ~/.ssh/
known_hosts

鍵生成

今回は初学者向けにデフォルト名で生成する。鍵の名前を変えたい場合は一番下にある補足を参照。
最近はed25519方式が主流らしい。数年前の環境構築解説記事はRSAを使っているものが多い。
"useremail@email.com"は必ずGithubに登録したメールアドレスを入力する。

ssh-keygen -t ed25519 -N "" -C "useremail@email.com"

パスフレーズを設定してしまうとObsidianのプラグインのGitが上手く動作しなくなるので、オプションに-N ""を設定している。
パスフレーズの設定を求められる画面で何も入力せずにEnterを押すという方法もある。

オプション 意味 説明
-t 暗号化方式 生成する鍵のアルゴリズムを指定(ed25519, rsa など) -t ed25519
-b 鍵長 RSAなどでのビット長
(ed25519は255bit固定なので不要)
-b 4096
-C コメント 公開鍵に付加されるコメント(メールアドレス) -C "user@email.com"
-f ファイル名 出力先のファイル名を指定 -f ~/.ssh/id_ed25519
-N パスフレーズ パスフレーズを指定(空欄は -N "" -N "pass" / -N ""
確認
ls ~/.ssh/
# 以下が表示されたら成功
id_ed25519 id_ed25519.pub
鍵のコピー
cat ~/.ssh/id_ed25519.pub

を実行して表示される文字列をCTRL+INSERTでコピーする。

Windowsの場合、clipコマンドで直接クリップボードにコピーできる。

# クリップボードに直接コピーされる
clip < ~/.ssh/id_ed25519.pub
GithubアカウントへSSHキーを追加

SettingsSSH and GPG keys
Titleは任意のタイトル
Keyにコピーした文字列をペーストする。
Pasted image 20250703052055.png

Githubに接続する。
ssh -T git@github.com

以下のメッセージが出てきた場合は、手打ちでyesと入力してEnter押下。

ssh -T git@github.com
The authenticity of host 'github.com (xx.xx.xxx.xx)' can't be established.
AA11111 key fingerprint is SHA256:hogehogehogehoge...
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

成功すると以下のようなメッセージが表示される。

ssh -T git@github.com
Hi username! You've successfully authenticated, but GitHub does not provide shell access.

gitリポジトリを作成

まずobsidianのVaultを置いてあるディレクトリに移動。
""内にObsidian初回起動時に作成したVault(保管庫)のパスを入力する。
私の場合はD:\githubフォルダの中にprivate-vaultという名前のVaultを作成したので以下の通りになる。

cd "D:\github\private-vault"
git initを実行し、作成したObsidianのVaultのフォルダ内に.gitを作成する。
git init

できたか確認

git status

いろいろ表示されるかもしれないが、On branch mainと表示されれば基本的に問題ない。

コミットするファイルを選択

初回の場合は、オプションに.(ワイルドカード)をつけて全選択したりするが、場合によっては後にエラーを起こすので注意。

git add .
ローカルにコミット
git commit -m "first commit"

リモートリポジトリ(Github)にPush

Push先のリモートリポジトリを指定
# URL部分はGithubからコピーしてくる
git remote add origin git@github.com:username/repository-name.git

リポジトリへのリモート接続の一覧を表示して、上手くいったかどうか確認。
-vはURLも表示するオプション。

git remote -v

以下のように表示されたら成功。

git remote -v
origin git@github.com:username/repository-name.git(fetch)
origin git@github.com:username/repository-name.git(push)
リモートリポジトリにPush

-uは無くても問題無いですが、つけた方がいいらしいです。

git push -u origin main

Commit、PushまでしなくてもObsidian側のGitは動作するかもしれないです(未検証)

Obsidian側での設定(プラグインの有効化)

画面右下の歯車マーク → オプション/コミュニティプラグイン → 閲覧
左上の検索ボックスにGitと入力して検索。
Gitをクリックし、インストール。
×を押してコミュニティプラグインの検索窓を閉じ、設定画面に戻る。
コミュニティプラグインの項目内にGitが追加されているので、有効化する。
Pasted image 20250703174518.png

すると、歯車マーク(Settings) → コミュニティプラグインにGitが追加される。
Pasted image 20250703182202.png

Commit authorの設定(ここを設定しないとエラーになる可能性有)

下の方にあるCommit authorを見つけ、
Author name for commitにGit・Githubのユーザーネーム
Author email for commitにGit・Githubに登録したメールアドレスを打ち込む。

Pasted image 20250703182315.png

左上のリボンにOpen Git source controlが追加されている。
Pasted image 20250703182641.png
クリックすると以下のような画面が出てくるので、ここでCommitやPushを行う。
だいたい一番左のCommit-and-syncを押しておけばいい。
Pasted image 20250703182700.png

以上で動作する筈です。

補足

SSH鍵の名前を分けたい(デフォルトから変更する)場合

~/.ssh/configを編集しないと接続しない。

鍵の名前を使い分けたい場合(例えばgithub用の鍵を作りたい場合)
ls ~/.ssh/github
github github.pub
configファイルがあるか確認
ls -l ~/.ssh/config
そもそもconfigが無い場合

空ファイル作成

touch ~/.ssh/config
編集(エディタはお好きなもので)
nano ~/.ssh/config

又は

vi ~/.ssh/config

以下の内容を記載する
IdentityFileは作成した鍵の名前(今回はgithub)

Host github.com
  HostName github.com
  User git
  Port 22
  IdentityFile ~/.ssh/github
  IdentitiesOnly yes

644だと読み込まないことがあるらしいのでパーミッションを設定
ただし、Windowsだと反映されないことがよくある。

chmod 600 ~/.ssh/config

エラーその1

ブランチ名がmainではなくmasterになっている場合

Githubのブランチ名がmainなので、ローカルのブランチ名がデフォルトのmasterのままだったりすると整合性が取れずにエラーが発生する。

git push -u origin main
error: src refspec main does not match any
error: failed to push some refs to 'github.com:username/repository-name.git'

master → mainに変更することで解決できる
以下は一例

git branch -m main
リモートリポジトリ作成時にREADME.gitignoreを作成してしまい、初回コミット時に競合してしまった場合。

以下のエラーが表示される

$ git push origin main
Enter passphrase for key '/c/Users/Owner/.ssh/id_ed25519':
To github.com:username/repository-name.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'github.com:username/repository-name.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

クローンしてプルする

git clone https://github.com/username/repository-name.git
git pull origin main

公式ドキュメント

Obsidian. "Obsidian Developer Docs". https://docs.obsidian.md/Home
Git. "Git - Documentetion". https://git-scm.com/doc
Github Enterprise Cloud docs. "SSH を使用した GitHub への接続". https://docs.github.com/ja/enterprise-cloud@latest/authentication/connecting-to-github-with-ssh
"OpenSSH Manual Pages". https://www.openssh.com/manual.html

参考文献

※一部ChatGPTの情報も導線として参考
Progate. "【Windows】Gitの環境構築をしよう!". https://prog-8.com/docs/git-env-win
stack overflow. "chmod で パーミッション の変更が出来ない". https://ja.stackoverflow.com/questions/44239/
二色人日記. "【git】git pushする時にオプション「-u」をつけた方がいい理由". https://twotone.me/web/5933/
@yampy. "[備忘] 複数Githubアカウントでssh接続設定(config)を使い分ける手順". Qiita. https://qiita.com/yampy/items/24638156abd383e08758
@shungo_m. "【git】ブランチ名の変更方法(ローカル、リモート)". Qiita. https://qiita.com/fk_chang/items/a4839a595fef9a2c3724
Publickcey. "GitHub、これから作成するリポジトリのデフォルトブランチ名が「main」に。「master」から「main」へ変更". https://www.publickey1.jp/blog/20/githubmainmastermain.html

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?