ある作業フォルダをGIT管理下において、ローカルでcommitした後、GitHubにコードをPUSHするまでの一連の流れのメモです。
本稿ではWindows環境で作業していますが、linuxでも同様です。
事前準備
SSHキーを生成する
まだSSHキーを作成していなければ作成する
git bashにて ssh-keygen -t rsa を実行する
riversun@devmachine MINGW64 ~
$ ssh-keygen -t rsa
するとパスフレーズ等聞いてくるので指示に従い作業する
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/riversun/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/riversun/.ssh/id_rsa.
Your public key has been saved in /c/Users/riversun/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:RvPdS4JwmtibHDlxqQ+/bBVTiXXpwJoFPxiDHl8QdNU riversun@devmachine
The key's randomart image is:
+---[RSA 2048]----+
| .ooo+*=o..o|
| .o+ooOooo E|
| . .= B *.. |
| B .. . |
| . .= B *.. |
| .... |
| .... |
+----[SHA256]-----+
これでキーペアが作成された。
ユーザー名を riversunとすると
キーペアはWindowsデフォルトでは、C:/Users/riversun/.sshフォルダ以下に作成される。
GitHubに公開鍵(public key)を登録する
コマンドラインからgitコマンドをたたいてpushするためには、
今つくったキーペアのうち公開鍵(public key)をGitHubに登録する必要がある。
C:/Users/riversun/.sshフォルダにあるid_rsa.pubというファイルが公開鍵となる。
id_rsa.pubをテキストエディタ等で開いて、内容をコピーする
id_rsa.pub
ssh-rsa AAAGYmB75HnWdxKaWkrUkAT8kCPQQsf6UQdrBQSLjz6W4KbHJcUazwNbkziQmtwVd4PXbkD2NF
szjELxKtuS9V2HwfS8Yjjm9BNFcWhAsLkYNnUKPjGnQ27wjEhV8ZPcn5smcpRuTHdZasFWEGDEiH6smGdi
JngBrcwj9WQhA8ErhUg2ExmAWb3R9U9ch2tJTCZXhALf7B53mc6xTCrGeLb7QVGShtsLe5nLJM37ZRKrDK
utH2A4f39fe4pDkQzViLf5wWuRgHy74Y6E9FMtYgBH92MazY9L5Ys7sfphyY8HDnZhgRsTneW2iVH2HZhM
eTNGEa5x2d3mtXjigSMax9JPF77JD9rYcH5jiiVV8jUbCtLUinz6s7NHajaZsfPYUSJ4Ge7AKWLXHgpCi3
Rz3FfiVVEPRxYZJQJt9kLL8RAUh5FXtSfeBShpT7PenH9jyBkBgHz3K4FCWWtpEU8ezkB8SttjQPiLPXW4
i49ws3r85rkMwtaiK5M riversun@devmachine
GitHubのSSHキー登録画面に行く
https://github.com/settings/keys
[NEW SSH KEY]をクリックし、さきほどコピーしたid_rsa.pubの内容をペーストして登録する。
これでGitHubに公開鍵が登録された。
GITユーザー名登録
まだ、gitのユーザー名の登録していなければ、ふたたび git bash (またはコマンドプロンプト)を開いて、以下のように共通のユーザー名を登録する
git config --global user.name "riversun"
git config --global user.email riversun.org@gmail.com
(Windowsならでは)改行コードを自動変換するか否か設定
Windows環境ならではだが、GITからダウンロードしたコードの改行コードを自動的に CRLF に変換したくない場合は以下のとおり。
以下のコマンドでは、このリポジトリとしての設定が変更される。
git config core.autocrlf false
ここまでで、事前準備のできあがり
(Windowsならでは)「File name too long」エラーの対処
git addコマンドなどで、File name too longというエラーメッセージが出た場合は以下の方法で対処する。
管理者としてgit bash(または、コマンドプロンプト)を起動し、以下を実行
git config --system core.longpaths true
これで長いファイル名もGITで取り扱えるようになる。
作業フォルダをGIT管理下におく
対象となる作業フォルダをGIT管理下におく
まず、git bash(又はコマンドプロンプト)を開いてGIT管理下におきたいフォルダにいく
cd ~/mytest
以下のコマンドで、このフォルダがGIT管理下におかれる
git init
作業フォルダにあるファイル、フォルダをコミットする
作業フォルダ以下にあるファイルをすべてコミット候補にする
git add -A
コミットする
git commit -m "first commit"
ちなみに、上記のコミットコマンドで、ローカルにmasterブランチが出来る
GitHubにリモートリポジトリを作成する
まだ、GitHub側にリモートリポジトリを作っていなかったら作成する
ここでは mytestというリポジトリをPrivateで作った
以下のように**[SSH]**のほうをクリックしたあと、
mytestリポジトリのトップ画面に表示されているURLをコピーする。
git@github.com:riversun/mytest.git
がクリップボードにコピーされた状態。
リモートリポジトリを登録する
以下のようにgit remote add origin以降に、いまコピーしたURLを貼り付け実行する。
git remote add origin git@github.com:riversun/mytest.git
これで、ローカルに対するリモートリポジトリ(つまりGitHub側のリポジトリ)が登録される。
ローカルリポジトリをリモートリポジトリにPUSHする
ローカルの内容をリモートのmasterブランチにPUSHする
git push -u origin master
これで、ローカルの作業フォルダが、無事、GitHubにPUSHされる。
その他
リモートリポジトリからcloneして以降の、各種GIT作業は以下で記事にしています
Gitの概観とコマンド(初級レベル)
https://qiita.com/riversun/items/a3f22ba0735472f595be