Sourcetreeの導入手順(Windows&GitHub向け)クローンしてプッシュまで
はじめに
初学者向けに詳しく書いてます。
Gitクローン時にはHTTPS利用。
Windows向けに書いています。
WSLを利用する上でよくあるトラブルシュートも記載しています。
環境
Windows10Home
WSL2
Sourcetree導入手順
- Download For Windowsからダウンロードして、インストーラを実行します
https://www.sourcetreeapp.com/ - skipで問題なし
- Mercurialなしにしました
- インストール&完了
- Author名とメールアドレスを入力
- SSHキーは読み込まない。「いいえ」を選択(SSH使いたければ他の記事を参考に)
GitHubでpersonal access tokenを作成する
- GitHubにログイン
- 右上のユーザーアイコンからSettingを選択
- 下の方にスクロールしてDeveloper settingを選択
- Tokens(classic)を選択、Generate new token (classic)を選択
- Note、Expirationは
90 days
などお好みで。scopeはrepoとuserにチェックして作成
- 生成されたpersonal access tokenのコードを控えておく
Sourcetreeでクローン
- GitHubでクローンしたいリポジトリのURL(HTTPS用)をコピー
- SourcetreeのCloneの一番上の入力欄にペースト、フォーカスを下の行に移すと認識される。その際に初回だとポップアップが出る。
manager-core
を選択、Always use this from now on
にチェックを付けて、Selectを押す。2回ほど同じポップアップが出るが、同じ選択でOK
- SourcetreeでGitHubのSign inを求められる。Tokenを選択。
- 控えておいたpersonal access tokenのコードを貼り付けてSign in
- 今回はWSLで利用したいので、クローン先を
\\wsl$Ubuntu-20.04\home\<user>\<project directory>
などと変更以下のように表示されていれば正常に認証されている。クローンを押下
- SourcetreeでWSLのディレクトリにクローンすると
'git status' がコード 128 で終了しました: fatal unsafe repository ('//wsl$/Ubuntu-20.04/home/...')
という内容のエラーが出る
Atlassian(Sourcetree)のコミュニティの解答
しかし、注意点として、Windows側でコマンドを打つ必要があります。WSLを利用している場合、C:\Users\<user>\.gitconfig
に反映させる必要があるのです。
SourcetreeをWSLで利用する際のエラーの解消
-
Sourcetreeの内臓のGitを開く(右上のターミナルボタン)
-
以下のコマンドを実行する。(全ディレクトリ許可の場合)
git config --global --add safe.directory '*'
全ディレクトリにしたくない人は、エラー内容のようなコマンドにして、safeディレクトリを指定してやる。(別ディレクトリにクローンする度にsafeに追加する必要がある)
git config --global --add safe.directory '%(prefix)///wsl$/Ubuntu-20.04/home/<user>/<project directory>'
- 確認
C:\Users\<user>\.gitconfig
が
[safe]
directory = *
または
[safe]
directory = %(prefix)///wsl$/Ubuntu-20.04/home/<user>/<directory>
となっていることを確認。
Sourcetreeも表示が変わる。フェッチなどを押してみてエラーとならないことを確認しましょう。
コミット、プッシュ時に出たりするエラー
fatal: Unable to create '//wsl$/(中略)/.git/index.lock': Permission denied
権限がないです。そういうことになることもあるかもしれないです。Atlassianコミュニティの解答にもあったように。エラーが出ているソースディレクトリや.gitなどオーナーをchown
コマンドで変えましょう。
Ubuntuのアプリで、オーナー変更したいディレクトリの一つ上の階層で実行してください。
ここでは.gitのオーナーを変更する例を記載しておきます。
$ sudo chown -R <username>:<username> .git
<username>
はWSL導入時に作成したユーザー名です。
ll
コマンドで権限が変わっていることを確認しましょう。
※プロジェクトソースのオーナーやファイル権限でうまくいかないこともあるようです。エラーをよく読んで対処しましょう。
コミット、プッシュができることを確認しましょう!
おわり
初学者向けなので、キャプチャを沢山とりました。(スクロールが長い😅)
SourcetreeでGitの感覚をつかんでくださいね!
よい開発ライフを!✨
Discussion