目次
⚓ 1. 環境
⚓ 2. パッケージ管理
- パッケージアップデート
$ sudo apt update
- パッケージアップグレード
$ sudo apt upgrade
⚓ 3. Gitインストール
※ 通常まっさらな状態から sudo apt update
sudo apt upgrade
実行後にはすでにGitは入った状態だが、削除したり何らかの理由で入っていない場合に実行。
⚓ 3-1. デフォルトパッケージ
※ この方法でインストールするGitは最新より古いバージョンがインストールされる。
- Gitをインストールする。
$ sudo apt install git
- インストールしたGitのバージョンを確認する。
$ git --version
⚓ 3-2. ソースからインストール
※ この方法でインストールする場合は時間が少々かかり、Aptでパッケージ管理されないが、最新バージョンをインストールできる。
- Gitをインストールする。
$ sudo apt install make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
- インストールしたGitのバージョンを確認する。
$ git --version
⚓ 4. Git設定
- ユーザー名とメールアドレスを設定する。
$ git config --global user.name "[username]" $ git config --global user.email "[email]"
※ プロジェクトごとに別のユーザー名とメールアドレスを利用する場合は global
を省略する。
- 設定を確認する。
$ git config --list
user.name=[username] user.email=[email]
⚓ 5. SSH設定
- SSH鍵を生成する
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/[username_ubuntu]/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/[username_ubuntu]/.ssh/id_rsa. Your public key has been saved in /home/[username_ubuntu]/.ssh/id_rsa.pub. The key fingerprint is: SHA256:hxbYsu6UHql6qA4tIIA7BnbVktsubFbEV6ewBQw+hmM [username_ubuntu]@DESKTOP-QDJ9F6V The key's randomart image is: +---[RSA 2048]----+ | hogehoge | | foobar | | hogehoge | | foobar | | hogehoge | | foobar | | hogehoge | | foobar | | hogehoge | +----[SHA256]-----+
vim ~/.ssh/config
Host github HostName github.com User git IdentityFile ~/.ssh/id_rsa
もしくは
Host gitlab HostName gitlab.com User git IdentityFile ~/.ssh/id_rsa
ここからが厄介で、自分が踏んだ地雷は以下の3つだった。
- コマンドラインでGit操作をするときに参照する鍵はLinux側の
~/.ssh/id_rsa
、IDEで参照する鍵は/mnt/c/Users/[username_windows]/.ssh/id_rsa
を参照するので、それぞれを上手く管理しなければならない。 - Linux側の
~/.ssh/
のシンボリックファイルをWindows側に作ると、パーミッションで読み取りが許可されていないので秘密鍵を読み込めない。IDEでGit操作ができない。 - Windows側の
/mnt/c/Users/[username_windows]/.ssh/id_rsa
のシンボリックファイルをLinux側に作ると、パーミッションが緩すぎて怒られる。
結局、シンボリックファイルではなく同一の鍵をWindows側にコピーして対処した。
どなたか良い方法あれば教えて頂きたい。
⚓ 6. GitHub / GitLab 設定
公開鍵ファイルの文字列をGitHubもしくは GitLabに登録する。
$ cat ~/.ssh/id_rsa.pub ssh-rsa HOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobarHOGEHOGEFOOBARhogehogefoobar [username_ubuntu]@DESKTOP-XXXXXXX
⚓ 6-1. GitHub
Setting
をクリックする。
SSH and GPG keys
をクリックする。
New SSH key
をクリックする。
- 任意の名前をつけ、先ほどの公開鍵ファイルの文字列を貼り付け、鍵を登録する。
⚓ 6-2. GitLab
Setting
をクリックする。
SSH keys
をクリックする。
- 先ほどの公開鍵ファイルの文字列を貼り付け、鍵を登録する。
⚓ 6-3. 接続確認
ssh [/home/[username_ubuntu]/.ssh/config に登録したホスト名]
を実行して接続を確認する。以下のようなメッセージが返って来ればOK。
$ ssh github PTY allocation request failed on channel 0 Hi oasis-forever! You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.
⚓ 7. Atom
- Stage:
$ git add [filename]
- Discard Changes:
$ git stash
(individual) - Stage All:
$ git add -A
- Discard All Changes:
$ git stash
(all) - Undo Last Discard:
$ git stash pop
- Click File:
$ git diff
- Stage Selection:
$ git add [filename]
(partly) - Discard Selection:
$ git stash
(partly)
- Input a message and click Commit to [branch name]:
git commit -m "[message]"
- Push:
git push origin [branch name]
- Fetch:
git fetch origin [branch name]
- Pull:
git pull origin [branch name]
- Push:
git push origin [branch name]
- Push Force:
git push origin [branch name] -f
⚓ 8. 参考サイト
- How To Gitインストール on Ubuntu 18.04 - 最終アクセス日: 2019年09月12日
- Florian Brinkmann - 最終アクセス日: 2019年09月12日
- WSLでもgitでsshを使いたい - 最終アクセス日: 2019年09月12日
- 今日からはじめるGitHub 〜 初心者がGitをインストールして、プルリクできるようになるまでを解説 - 最終アクセス日: 2019年09月12日