Git BASH 経由で、Windows10 から GitHub へ PUSH する

開発環境GitHub

目次一覧

 状態:確認中  閲覧数:173  投稿日:2019-06-21  更新日:2020-06-01
1.GitHub の GUI経由で リモートリポジトリを作成する / Git BASH / GitHubへ接続するために公開鍵を作成する

GitHubへ公開鍵(public key)を登録する / 作業ディレクトリ内に空のローカルリポジトリを作成する / 作業ディレクトリにあるファイル、ディレクトリをコミットする

リモートリポジトリを追加 / 「ローカルリポジトリ」を「リモートリポジトリ」へPUSHする

鍵に保存されたパスフレーズを変更 / (Windowsならでは)「File name too long」エラー対処 / (Windowsならでは)改行コードを自動変換しないよう設定


1.GitHub の GUI経由で リモートリポジトリを作成する / Git BASH / GitHubへ接続するために公開鍵を作成する

 閲覧数:43 投稿日:2019-06-21 更新日:2020-06-01 

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へ登録した公開鍵について

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)を登録する / 作業ディレクトリ内に空のローカルリポジトリを作成する / 作業ディレクトリにあるファイル、ディレクトリをコミットする

 閲覧数:41 投稿日:2019-06-21 更新日:2020-06-01 

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する

 閲覧数:35 投稿日:2019-06-21 更新日:2020-06-01 

ローカルリポジトリに、リモートリポジトリを設定する


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ならでは)改行コードを自動変換しないよう設定

 閲覧数:32 投稿日:2019-06-21 更新日:2019-06-24 

鍵に保存されたパスフレーズを変更


毎回パスワード入力することが苦痛なので、「パスワードなし」へ変更する
・最初に 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



「Windows10」へ「gitfor windows VERSION 2.22.0」をインストール

Git 確認系コマンド



類似度ページランキング
順位 ページタイトル抜粋
1 Git 失敗履歴2。「$ git reset」→ ソースコード削除。※Git BASH 経由で Windows10 から GitHub へ PUSH しようとするも、誤ってソースコードを削除してしまう 41
2 Windows10で使用できるGitクライアント 39
3 GitHub への PUSH へ 1回成功したぐらいでは、Git 理解したことには全然ならない 34
4 User is not Authorized の闇 30
5 GitHub Desktop 試行錯誤履歴 29
6 「Windows10」へ「gitfor windows VERSION 2.18.0」をインストール 28
7 「Windows10」へ「gitfor windows VERSION 2.22.0」をインストール 28
8 Twitter API 1.0 28
9 Knuth–Morris–Pratt algorithm border 26
10 「Google AdSense」と「iOSアプリ開発」の共通点 24
11 Twitter API v1.1 24
12 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう 24
13 「Twitter Developers」でApp作成 24
14 Twitter Developers からのメール   23
15 Twitter API 23
16 Git Bash で異なるディレクトリの指定ディレクトリへ移動する。「$ cd /L/3_開発/git/大阪府」 22
17 Twitter Developer Labs 22
18 Twitter 認証で電子メール取得するまで 22
19 Twitter 複数アカウントでPOSTしたい 22
20 「Twitter Developer」審査結果に通り、appを作成。しかし、いつの間にか「User is not Authorized」が表示されていたケース 21
2020/11/27 9:14 更新
週間人気ページランキング / 11-20 → 11-26
順位 ページタイトル抜粋 アクセス数
1 コインチェック株式会社   | Webサービスビジネス 3
2 Windows10で使用できるGitクライアント | GitHub(開発環境) 2
2 同じ携帯電話番号でも、複数の「Twitter Developers」アカウントを作成可能 | Twitter Developer(Twitter) 2
2 旧 Twitter API 分類 / REST APIs / Streaming APIs | Twitter API 旧仕様(Twitter) 2
2 Twitter 回答を得られなかったQ | Twitter Developer(Twitter) 2
2 RTだけ取得に挑戦 | Twitter Developer(Twitter) 2
2 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 2
2 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 2
3 埋め込みツイート | Twitter Developer(Twitter) 1
3 「Twitterデータ」対応 | Twitter Developer(Twitter) 1
3 Twitter 電話番号の問題 | Twitter Developer(Twitter) 1
3 teratailでは質問しない | プログラミング 1
3 Twitter API 1.0 | Twitter API 旧仕様(Twitter) 1
3 Webサービスビジネス カテゴリー 1
3 うさみみハリケーン / インストール 1
3 「ERROR: Repository not found. fatal: Could not read from remote repository.」と表示された場合は、 | Git BASH(開発環境) 1
3 ログイン 1
2020/11/27 1:01 更新