目次一覧
状態:確認中
閲覧数:1,488
投稿日:2019-06-21
更新日:2020-06-01
1.GitHub の GUI経由で リモートリポジトリを作成する / Git BASH / GitHubへ接続するために公開鍵を作成する
GitHubへ公開鍵(public key)を登録する / 作業ディレクトリ内に空のローカルリポジトリを作成する / 作業ディレクトリにあるファイル、ディレクトリをコミットする
リモートリポジトリを追加 / 「ローカルリポジトリ」を「リモートリポジトリ」へPUSHする
鍵に保存されたパスフレーズを変更 / (Windowsならでは)「File name too long」エラー対処 / (Windowsならでは)改行コードを自動変換しないよう設定
GitHubへ公開鍵(public key)を登録する / 作業ディレクトリ内に空のローカルリポジトリを作成する / 作業ディレクトリにあるファイル、ディレクトリをコミットする
リモートリポジトリを追加 / 「ローカルリポジトリ」を「リモートリポジトリ」へPUSHする
鍵に保存されたパスフレーズを変更 / (Windowsならでは)「File name too long」エラー対処 / (Windowsならでは)改行コードを自動変換しないよう設定
1.GitHub の GUI経由で リモートリポジトリを作成する / Git BASH / GitHubへ接続するために公開鍵を作成する
1.GitHub の GUI経由で リモートリポジトリを作成する
新しいリポジトリを作成
Create a New Repository
SSH keys
There are no SSH keys associated with your account.
Check out our guide to generating SSH keys or troubleshoot common SSH Problems.
Githubへ登録した公開鍵についてThere are no SSH keys associated with your account.
Check out our guide to generating SSH keys or troubleshoot common SSH Problems.
Git BASH
(起動した際の)デフォルトのホームディレクトリ
/c/Users/[ログインユーザ]になっている
エラー発生
・鍵認証設定が必要みたい
Permission denied (publickey). fatal: Could not read from remote repository.
・GitHubへ登録した公開鍵が勝手に削除される事はありますか?・接続先サーバ(Github)に公開鍵を登録していなかった
既存鍵を指定するもうまくいかない
/.ssh/config で別ドライブにあるファイル指定
WindowsでGitを始めたらまず確認!Git Bashの設定&ショートカット
GitHubへ接続するために公開鍵を作成する
Git BASAH にて ssh-keygen -t rsa を実行する
パスフレーズを入力すると、公開鍵と秘密鍵が作成される
デフォルトで(何も変更しなかった場合)は、コマンドを実行した直下に.sshディレクトリが作成され、下記の2ファイルが作成される
・id_rsa : 秘密鍵
・id_rsa.pub : 公開鍵
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/user/.ssh/id_rsa.
Your public key has been saved in /c/Users/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Mz/xxxx user@DESKTOP-xxxx
The key's randomart image is:
+---[RSA 3072]----+
| .oooo+oo Eoo |
| +.... o o . . |
|. + .o+ * o + |
| o ....* = . . |
| +.. . S . . |
| ..oo . + o + . |
| + + . = o o |
| . o o. . o |
| o. ... |
+----[SHA256]-----+
キーペア
デフォルトでは下記に作成される
C:/Users/Windowsユーザー名/.ssh/
GitHubへ公開鍵(public key)を登録する / 作業ディレクトリ内に空のローカルリポジトリを作成する / 作業ディレクトリにあるファイル、ディレクトリをコミットする
GitHubへ公開鍵(public key)を登録する
コマンドラインからgitコマンドをたたいてpushするためには?
上記で作成したキーペアのうち公開鍵(public key)をGitHubへ登録する必要がある
公開鍵
C:/Users/Windowsユーザー名/.ssh/id_rsa.pub
[New SSH key]をクリックし、コピーした上記ファイル内容をペースト
これでGitHubに公開鍵が登録される
SSH and GPG keys
$ ssh -T git@github.com
The authenticity of host 'github.com (52.69.186.44)' can't be established.
RSA key fingerprint is SHA256:xxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'github.com,52.69.186.44' (RSA) to the list of known hosts.
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
Hi GitHubユーザー名! You've successfully authenticated, but GitHub does not provide shell access.
$ git clone git@github.com:GitHubユーザー名/GitHubリポジトリ名.git
Cloning into 'P46'...
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
作業ディレクトリ内に空のローカルリポジトリを作成する
Git BASH を開く
GIT管理下におきたい作業ディレクトリへ移動
cd
作業ディレクトリ(Lドライブの「/1_Hp/0_sakura/2018server/var/Www/html/1-p46/」)へ移動する
$ cd /L
同じドライブ内を移動
$ cd 1_Hp/0_sakura/2018server/var/Www/html/1-p46
コピペ用
$ cd /L/1_Hp/0_sakura/2018server/var/Www/html/1-p46
git init
作業ディレクトリ内へ、Gitの(空の)ローカルリポジトリを作成する
$ git init
Initialized empty Git repository in L:/1_Hp/0_sakura/2018server/var/Www/html/1-p46/.git/
作業ディレクトリ内にバージョン管理用のリポジトリ( .git ディレクトリ)が生成された。
しかし、作業ディレクトリ内に存在するファイルは、まだそのリポジトリへ登録されていない
作業ディレクトリにあるファイル、ディレクトリをコミットする
git add -A
作業ディレクトリ内にあるファイルを全てコミット候補にする
$ git add -A
warning: adding embedded git repository: GitHubリポジトリ名
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint: git submodule add <url> GitHubリポジトリ名
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached GitHubリポジトリ名
hint:
hint: See "git help submodule" for more information.
git commit -m
インデックスに追加されたファイルをコミットする(コミットメッセージも指定する)
$ git commit -m "first commit"
[master (root-commit) b39494a] first commit
1 file changed, 1 insertion(+)
create mode 160000 GitHubリポジトリ名
$ git commit -m "first commit"
On branch master
nothing to commit, working tree clean
ローカルリポジトリに、リモートリポジトリを設定する / 「ローカルリポジトリ」を「リモートリポジトリ」へPUSHする
ローカルリポジトリに、リモートリポジトリを設定する
git remote add origin
(リモートリポジトリへ反映させる前に、)ローカルリポジトリへ、リモートリポジトリの情報(GitHubリモートリポジトリのアドレス)を追加する
※リモートリポジトリは、GitHub の GUI 経由で事前作成しておく必要がある
$ git remote add origin git@github.com:GitHubユーザー名/GitHubリポジトリ名.git
fatal: remote origin already exists.
git remote -v
ローカルリポジトリに設定されている、リモートリポジトリ内容を一覧表示(URLも表示)
$ git remote -v
origin git@github.com:GitHubユーザー名/GitHubリポジトリ名.git (fetch)
origin git@github.com:GitHubユーザー名/GitHubリポジトリ名.git (push)
これで、ローカルリポジトリにリモートリポジトリの設定ができた
「ローカルリポジトリ」を「リモートリポジトリ」へPUSHする
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
$ git push -u origin master
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
To github.com:GitHubユーザー名/GitHubリポジトリ名.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/GitHubリポジトリ名.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
$ git pull --rebase origin master
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
From github.com:GitHubユーザー名/GitHubリポジトリ名
* branch master -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Applying: first commit
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
$ git push -u origin master
Enter passphrase for key '/c/Users/user/.ssh/id_rsa':
Enumerating objects: 437, done.
Counting objects: 100% (437/437), done.
Delta compression using up to 8 threads
Compressing objects: 100% (415/415), done.
Writing objects: 100% (436/436), 811.21 KiB | 4.36 MiB/s, done.
Total 436 (delta 49), reused 0 (delta 0)
remote: Resolving deltas: 100% (49/49), done.
To github.com:GitHubユーザー名/GitHubリポジトリ名.git
b15102d..9074206 master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
鍵に保存されたパスフレーズを変更 / (Windowsならでは)「File name too long」エラー対処 / (Windowsならでは)改行コードを自動変換しないよう設定
鍵に保存されたパスフレーズを変更
毎回パスワード入力することが苦痛なので、「パスワードなし」へ変更する
・最初に Enterキーを押す
・次に 古いパスフレーズを入力する
・次に 新しいパスフレーズを入力する
・最後に もう一度、新しいパスフレーズを入力する
$ ssh-keygen -p
Enter file in which the key is (/c/Users/user/.ssh/id_rsa):
Enter old passphrase:
Key has comment 'user@DESKTOP-XXXX'
Enter new passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved with the new passphrase.
(Windowsならでは)「File name too long」エラー対処
git addコマンドなどで、File name too longというエラーメッセージが出た場合
以下の方法で対処する
管理者としてgit bash(または、コマンドプロンプト)を起動し、以下を実行
これで長いファイル名もGITで取り扱えるようになる
$ git config --system core.longpaths true
(Windowsならでは)改行コードを自動変換しないよう設定
git config --global core.autoCRLF false
「C:\Users\user\.gitconfig」ファイルに下記内容が自動追加される[core]
autoCRLF = false