#はじめに 【GitHub初心者向け】
自分自身なんとなく理解しているつもりになって、
(Gitコマンド) add
,commit
, push
etc を叩いていましたが、
本稿執筆にあたり、さらに詳しく理解してもっとGit(Github)を使いこなそうと初心にかえり、
初めてGitHubに触れた頃のメモをQiita記事にしてみました。
内容に関しては、GitHub初心者向けの内容となっています。
表現が不適切な箇所もあるかとございますが、何卒ご容赦いただけますと幸いです。
それでは、__Git__と__GitHub__について書きたいと思います。
#Gitとは?
- __分散型バージョン管理システム__の一つです。
- 元々は、Linuxカーネルのソースコードを効率的に管理するために、
Linuxの生みの親であるリーナス・トーバルズ氏によって開発された。(2005年) -
どんなドキュメント__でも、すべての段階の草案やアップデート履歴を保存し、管理できる。__
(※ソースコードに限らない。Excel,Wordのファイルも管理可能)
プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。(Wikipediaより引用)
#GitHubとは?
- Gitを利用したリモートリポジトリ(共有リポジトリ)を提供するWebサービス。
- 1.フォーク ( fork )、2. プルリク ( pull request )、3. マージ ( merge ) etc の機能を持つ。
#実際にGit、GitHubを使ってみる。
[前提条件]
- __Githubアカウントのユーザーアカウントを保持__していること。
- Gitコマンド__が__インストール済み__であること。(※パスを通す)__
#今回、実践すること。
1. ローカルリポジトリの作成
2. リモートリポジトリの作成
3. ローカルリポジトリの変更内容をリモートリポジトリにプッシュ
##1. Gitのユーザー名、メールアドレスを登録する。(CLI)
####1. ユーザー名を登録
$ git config --global user.name <username>
####2. メールアドレスを登録
$ git config --global user.email <emailaddress>
####3. 登録内容を確認
$ git config --global --list
##2. Gitで管理するプロジェクトファイルを新規作成する。
####1. フォルダ作成
$ mkdir helloWorld
####2. 新規作成したフォルダ内に移動し、リポジトリの初期化を行う。
$ git init
※__リポジトリの初期化__とともに、/.git/ディレクトリ(隠しフォルダ)
が作成されます。
##3. 新規ファイルを作成して、Git管理下に置く。
####1. 「HelloWorld 」プロジェクトファイル配下に新規ファイルを作成する。
$ touch hello.txt
####2. 現在のリポジトリ内のステータス状況を確認します。
$ git status
####3. 新規作成したファイルをステージングに追加する。
$ git add hello.txt
管理対象に追加することで、変更履歴の記録を開始します。
複数ファイルの変更をステージ環境に反映する場合は、
ワイルドカードを使用することができます。
git add ’*.txt’
####4. ステージングにあるファイルをローカルリポジトリに追加する。
git commit -m 'first commit'
-m "◯◯◯◯◯◯◯"
オプションでコメントを追加することができます。
git commit
を実行することで、__git addでステージ環境に追加した変更履歴全て__を
リポジトリに反映させることができます!
##4. ローカルリポジトリの内容をリモートリポジトリに反映
####1. リモートリポジトリを作成する。
__Githubにログイン__し、管理画面よりリモートリポジトリ
を作成します。
右上の「+」
ボタンを押下し、「New repository」
よりリモートリポジトリを新規作成する。
リポジトリ名(Repository name)
と説明(Description)
等を設定し、__「Create repository」ボタンを押下__すると、__新しいリモートリポジトリを作成する__ことができます。
※有料アカウントのみ、公開範囲の設定(Public or Private)が可能です。
また、README.mdを作成するかしないかをチェックボックスで選択することが可能です。
####2. リモートリポジトリURLをGitコマンドで登録します。
$ git remote add <RemoteRipositoryName> <RemoteRipositoryURL>
####3. ローカルリポジトリの内容をリモートリポジトリにPush(アップロード)します。
$ git push <RemoteRepositoryName> <LocalRepositoryName>
上記作業にて、
1. ローカルリポジトリの作成
2. リモートリポジトリの作成
3. ローカルリポジトリをリモートリポジトリにpush(アップロード)
の__一連の流れが完了__しました。
####4. リモートリポジトリでコミット内容を確認してみる。
最後に__リモートリポジトリにローカルリポジトリの変更内容が反映__されているか確認してみる。
__ローカルリポジトリで作成された「Hello.txt」
がリモートリポジトリに追加されていることを確認__できました。
しっかりと、「-m」
オプションで付加したコメントも反映されていることが確認できると思います。
本日は、ここまで!
##その他、GitHubライフに役に立つコマンド集(10選)
####1.これまでのコミットログを確認
$ git log
上記コマンドを実行することで、これまでのコミット履歴を確認することができます。
####2.リモートリポジトリの名称と、URLを追加
$ git remote add <リモートリポジトリ名称>
<リモートリポジトリURL>
####3.ローカルでの変更履歴をリモートリポジトリに反映
$ git push -u <リモートリポジトリ名> <ローカルブランチ名>
-u オプションを付けることで、次回以降
<リモートリポジトリ名>、<ローカルブランチ名>の入力を
省略することができます。
$ git push
####4.変更があった箇所を確認
$ git diff HEAD
ローカル (作業)リポジトリとローカルを比較
$ git diff -stage
ステージとローカルを比較
####5.ステージ環境に反映したファイルを取り消し
$ git reset < ファイル名>
####6.ブランチを作成する
$ git branch <新しいブランチ名>
####7.ブランチを切り替える
$ git checkout <ブランチ名>
####8.ファイルを削除(ステージ環境に削除ログを反映)
$ git rm <ファイル名>
git addの反対のイメージとして捉えると分かり易い?
####9.変更箇所をマージする
$ git merge <マージ元のブランチ名>
###10. ブランチを削除する
$ git brnch -d <削除したブランチ名>
#参考文献まとめ