ギークなエンジニアを目指す男

機械学習系の知識を蓄えようとするブログ

Git入門(ソースコードあげてみる編)

こんばんは。

本日は、現在勉強中のRailsソースコードを公開してみようと思い立ち(需要がないのは重々承知です)
備忘録がてら、GitHubでのソースコード公開手順も残していこうと思います。

ソースコードあげてみる編と書きましたが、続編が登場する確率は低いです。

はじめに

環境は以下の通りです。(2017/11/26現在)

OS:macOS Sierra Ver.10.12.5

また、GitHub用語やユーザ登録方法などは割愛させていただきます。

リポジトリの作成

GitHubにログイン後、まずはリポジトリの作成を行います。
f:id:taxa_program:20171127000638p:plain

項目を埋めてCreate repositoryボタンを押下します。 f:id:taxa_program:20171127232700p:plain

これでGitHub上のリモートリポジトリの作成は終了です。

次に、ローカルリポジトリの作成を行います。

ローカルリポジトリを作成するにあたり、
リポジトリとするディレクトリを作成しておきましょう。
(今回はGitHub/gittestというディレクトリを作成しました)

コマンドプロンプトを起動し、作成したディレクトリまで移動して下記コマンドを入力します。

$git init

そうすると、

Initialized empty Git repository in /○○○/○○○/○○○/○○○/GitHub/gittest/.git/

というように表示され、該当ディレクトリがGitリポジトリになります。 (○の文字は環境によって異なります)

このディレクトリの配下にファイルを作成or移動し、ローカルリポジトリへのcommitを行います。
今回はテストを兼ねて「test.txt」というファイルで実験します。

ローカルリポジトリへのcommit

該当のディレクトリにファイルやフォルダを置いたら、

$ git add ○○○

とコマンドを入力します。(○○○はファイルやフォルダ)
上記のコマンドを叩くと,変更点を勝手にインデックスに追加してくれます。
入力して何もメッセージが表示されなければ成功です。 また、下記オプションを指定すると楽です。 むしろこちらの方が使う確率は多いと思います。

$ git add -A
$ git add -u
$ git add .
$ git add *.md

git add -A :新規作成/変更/削除されたファイル全てを追加(AllのA)
git add -u :変更/削除されたファイルを追加。新規作成は対象外。(updateのu)
git add . :新規作成/変更されたファイルを追加。削除は対象外。
git add *.md :ファイル形式を指定する。

インデックスにデータを追加したら,登録(commit)します.

$ git commit -m "初めてのGitHub"

のコマンドで,インデックスの内容が全てローカルリポジトリに登録されます。

なんと簡単....
この時点では,『ローカル』リポジトリなので、GitHub上には反映されておりません。

GitHubにデータを送信する(リモートリポジトリにデータをプッシュする)

では、GitHubにデータを公開してみましょう。
GitHubにログインし、該当のURLをコピーしてください。

f:id:taxa_program:20171127003254p:plain

まず、インデックス(ファイルの変更点などのリスト?)をGitHubに作成します。

$ git remote add origin 上記URL(https://~~)

そしてコミットされたデータをGitHubに送信(プッシュ)します。

$ git push origin master

そろそろ寝むい...
結果は...

f:id:taxa_program:20171127234217p:plain

無事に送信できていました!
これは地味に嬉しいです。
これで私もバージョン管理できる風の人になりました。

最後に、ここまで使用したコマンド手順をまとめておきます。

$ git init (ローカルリポジトリ作成)
$ git add ファイル名orフォルダ名(インデックス作成)
$ git commit -m "コメント"(ローカルリポジトリへ登録)
$ git remote add origin URL(https://~~)(リモートリポジトリへインデックス作成)
$ git push origin master(コミットされたデータをリモートリポジトリに送信)

たった5手順で終了しました。

ちなみに、ローカルの資源を更新して、再度リモートリポジトリにあげる場合は、

$ git add ファイル名orフォルダ名(インデックス作成)
$ git commit -m "コメント"(ローカルリポジトリへ登録)
$ git push origin master(コミットされたデータをリモートリポジトリに送信)

上記3手順のみです!!

これでrailsの資源も公開していこうと思います!

状態の戻し方

2018.01.05 追加
謝ってファイルやディレクトリを削除してしまった場合、commit前であれば、以前の状態に戻すことができます。

$ git checkout -f
$ git status
# On branch master
nothing to commit (working directory clean)