LoginSignup
12

More than 3 years have passed since last update.

posted at

updated at

【入門】Gitのインストールと環境構築【Windows】

Git インストール

こちらからGitクライアントをインストールします。
※これでGitシステムと、LinuxコマンドをWindows環境でも利用可能になるターミナルソフトGit bashが利用できるようになります。
インストールが完了したらGit Bashを起動しておきましょう。

GitLabのアカウント作成

こちらからGitLabでアカウント作成・ログインします。

※バージョン管理システムGitを利用したリポジトリサービスは、Githubが有名です。しかし本稿では、無料で非公開のリポジトリを作れる&自前サーバーでもサービスをインストール可能などの利点から、GitLabを利用しています。

Gitへのログイン・SSH認証キーの設定

Gitを利用し、それをクラウド上のサーバー(GitLab)へプッシュ(アップロード)するための設定です。
サーバーとの連携するためSSH通信という安全な通信方法を利用します。

※まめちしき: SSH通信の流れ(読み飛ばしてもいいです。)
【①ローカル上で秘密鍵と公開鍵を生成し、公開鍵をサーバー(GitLab)に登録】
【②サーバー上で公開鍵を元に、乱数生成&公開鍵と乱数から暗号生成&乱数からハッシュ値生成】
【③ローカル上で秘密鍵を復号したものと暗号で乱数を復号&乱数からハッシュ値を計算】
【④ハッシュ値をサーバーに渡す 既存のハッシュ値と渡されたハッシュ値を比較し一致したら認証】

$ git config --global user.name "Your Name"   #ユーザ名設定
$ git config --global user.email your-email@example.com #メールアドレス設定
$ ssh-keygen -t rsa      # SSH認証キー(公開鍵)の生成。
$ clip < ~/.ssh/id_rsa.pub  # 公開鍵の中身をコピー。
  1. Git bash(ターミナル)で上記コマンドを実行。
  2. GitLabで作業
    1. トップ画面右上のメニューから「Settings」を選択。
    2. 画面左端「User Settings」メニュー→「SSH Keys」を選択。
    3. 「SSH認証キー登録」画面が表示されるので、「Key」にコピーした公開鍵をペースト。
    4. 「Title」は任意の文字列でOK。わかりやすく「SSH認証キー(公開鍵)」と同じ名前を設定してもいい。
    5. 「Add key」をクリック→SSH keysとして正常に登録した公開鍵が表示されていれば登録完了。

リモートリポジトリの作成

  1. GitLabで作業
    1. ローカルからリモートのリポジトリへプッシュ(アップロード)するためのリポジトリをGitLab上で作成する。
    2. 「New Project」→「プロジェクト名」(わかりやすくアプリの名前と一緒にする)→「Create Project」で作成完了。
    3. 作成後、リポジトリのページに”git@gitlab.com:/AppTitle.git”というようなテキストボックスがあるので、これをコピー。

※後述のgit remote addでローカルからリモートへリポジトリをプッシュするために利用します。

ローカルリポジトリの作成

$ git init  Git管理したいディレクトリ(Railsアプリのルートディレクトリなど)に移動し、新しいリポジトリの初期化を行います。
$ git add -A プロジェクトのファイルをリポジトリに追加します。
$ git status ステージング(待機用リポジトリ)の確認。コミットを待つファイルが置かれる。安全のため、いきなりコミットはしない。
$ git commit -m "Initialize repository" ステージングにある変更をリポジトリに反映する。

ローカルからリモートリポジトリへのプッシュ(アップロード)

$ git remote add origin git@gitlab.com:<username>/MyApp.git  # MyAppのリポジトリのページがGitlabに作成される。
$ git push -u origin --all # または”--allの代わりにmasterでもOK”

ブランチ作成

  • ブランチを活用すると、”正常に動作する状態のリポジトリをコピーし、コピー先で変更を加え、コピー元に最終的な変更を反映させる”といったことができる。 

ブランチ:リポジトリのコピー
masterブランチ: 全ブランチの親ブランチ。
トピックブランチ:短期間の作業用の一時的なブランチ。

$ git branch                  # ブランチ一覧を表示。現在使用中のブランチは*がつく。
$ git checkout -b ChildBranch # "-b ブランチ名"でブランチ作成
$ git checkout master    # "checkout ブランチ名"で指定ブランチ移動。ここではmasterへ移動。
$ git merge ChildBranch    # マージ(ブランチの変更をmasterに反映する。)
$ git branch -d ChildBranch  # "-d ブランチ名"で指定ブランチの削除

※ブランチでミスをした場合は、-dの代わりに-Dを使うと、マージせずとも削除してくれる。

2回目以降のプッシュ

”git push -u origin master”を実行後は、origin masterを省略してプッシュできる。

$ git push

※区切りの良い所で変更が完了した場合、こまめにローカルからリモートのリポジトリへプッシュするのが望ましい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
12