Help us understand the problem. What is going on with this article?

ローカルのプロジェクトをGitHubにアップロードするまで

はじめに

過去に作ったコードをGitHubにあげておく必要が出来たものの完了まで時間を要したので、次回以降スムーズに運ぶよう備忘録として手順を記録します。(なお、他の方の記事のほぼ引き写しです。)

前提

GitHubのアカウントは作成済みとする。
Windowsはgitクライアントをインストール済み。スタートメニューからGit Bashで使用。

手順

ここから順に作業を列挙します。(思い出しながらなので順番が入れ替わっている可能性あり)

SSHキーの生成

ローカルのマシン毎に生成しました。(GitHubに登録するキーとなりますが、あまり多く作らない方がいいか?)

hoge@hoge-PC MINGW64 ~
$ ssh-keygen -t rsa

デフォルトではホーム下の.sshディレクトリにid_rsaとid_rsa.pub(公開鍵)が生成される。
unix系の参考資料だと、鍵id_rsaのパーミッションをchmod 600 id_rsaしますが、Windowsなのでls -lしてもパーミッションは変わりません。
パスフレーズは入力推奨。

SSHのconfigファイル作成

.sshディレクトリに設定ファイルconfigを作成します。

config
Host github
  Hostname github.com
  User git
  IdentityFile ~/.ssh/id_rsa

キー生成の際、ファイル名を変更している場合、IdentityFileのファイル名を合わせる事。

GitHubに公開鍵を登録する

gitコマンドでGitHubにPushするため、GitHubに公開鍵を登録する必要がある。
生成されたキーファイルのうち.pubファイルの中身をエディタ等で開いてコピーし
GitHubの鍵登録画面
https://github.com/settings/keys (もしくはGitHubのSettings -> SSH and GPG keys)
で、Key欄に張り付け。
タイトル欄に識別できるようPush元のマシン名などを記載。(WinとかRaspberry Piとか)

Gitのユーザー情報を登録(初回のみ)

git config --global user.name "tarou"
git config --global user.email "tarou.yamada@gmail.com"

(2019/04/04追記)$ git config --listで登録されているconfig変数を参照できます。

改行コードの自動変換設定(Windowsのみ)

WindowsからPushする際、改行コードの自動変換が挟まれて色々あるようなので、変換を無効にしておく。

git config core.autocrlf false

GitHubへのSSH接続の確認

GitHubへのPushの前に接続ができるか確認しておく。

ssh github

.sshにconfigファイルを作ってあれば、これだけで接続確認ができる。(この記事を書いている際、鍵ファイル名をデフォルトから変更していたことを忘れていてconfigのIdentityFileの記述がファイル名と違っていたため、複数回Permission Deniedされました。)

GitHubにリモートリポジトリを作成する

GitHubにリポジトリを作成する。
image.png
この際、READMEの初期化チェックを付けずにリポジトリ作成をした方が、この後の手順が例示されるので楽。(勘違いかもしれないが、初期化するとこの後のPushが上手くいかず、リポジトリの削除・作成を繰り返した。)
image.png
以降は、リポジトリ作成後に表示されるこの画面の情報”…or create a new repository on the command line”どおりに実行する。
(ちなみにHTTPSではなくSSHの情報を使う)

プロジェクトのフォルダをGit管理下に

(先にechoでREADME.mdファイルを生成しておく。)
プロジェクトのディレクトリに移動した後、以下のコマンドでGit化する。

echo "# my_project" >> README.md
git init

プロジェクトの全ファイルを追加、コミットする

git add -A
git commit -m "commit comment"

プロジェクトのリモートリポジトリを設定する

プロジェクトに対応するリモートリポジトリを以下のコマンドで設定する。

git remote add origin git@github.com:kcha4github/my_project.git

(間違えた時)リモートリポジトリを変更するには

(一時、SSHと間違えてHTTPSを入力してしまったので以下のコマンドで修正した。)

sh
$ git remote set-url origin git@github.com:kcha4github/my_project.git

リモートリポジトリへローカルのプロジェクトをPush

ローカルのプロジェクトをGitHubにPushします。

git push -u origin master

上手くいけば、プロジェクト内のファイルがGitHubのリポジトリにアップされます。

参考サイト

ローカル作業フォルダをGIT管理下においてGitHubにPUSHするまで
https://qiita.com/riversun/items/dac05d7fd9ac304dffa9
gitのremote urlを変更する(レポジトリ移行時)
https://qiita.com/minoringo/items/917e325892733e0d606e
今日からはじめるGitHub 〜 初心者がGitをインストールして、プルリクできるようになるまでを解説
https://employment.en-japan.com/engineerhub/entry/2017/01/31/110000

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away