Git最初の一歩

Mar 18, 2017

Git最初の一歩

2017-03-18 最終更新日:2017-03-18
git web developer

今回は分散型バージョン管理システムのgitについてです。ギットと読みます。

公式サイト

ファイルのバージョン管理と思っていただければいいと思います。エクセルでもファイル1、ファイル2、ファイル3、ファイル4とかつけていきますね、これだとどのファイルが新しいのか古いのかがわからなくなりますが同じファイルで管理していけるのは良いですよね。

gitを使うとファイルを作ったり修正したりある程度のまとまりになったら履歴データベースに保存しておくと良いです。

  1. 作業ディレクトリ ここで作業する

  2. ステージングエリア(インデックス) 作業経過を保存

  3. リポジトリ(ローカル、リモート) 保存先、履歴データベースに入る

こちらのサイトがわかりやすいですね。⇒サルでもわかるGit入門 〜バージョン管理を使いこなそう〜

今回の保存先はBitbucketに入れますのであらかじめアカウントを作成する必要があります。


スポンサーリンク


インストール

まずはgitをインストールしましょう! Gitがインストールされているかどうかを確認するには、ターミナルで

$ git --version

と入れてみてください、なければ公式サイトからダウンロードしてインストールしてください

設定ファイルを更新します

gitの初期設定です。データを保存する際に必要になる名前とE-mailを設定します。

$ git config --global user.name "Tadashi Suyama"
$ git config --global user.email "suyama@its-office.jp"

改行コードの自動変換を設定

なんとなくしなくても良さそうな気がしますが、設定するなら以下のコマンド

$ git config --global core.autocrlf true # Windows
$ git config --global core.autocrlf input # Mac,Linux

Bitbucket設定

1. 公開鍵の作成

ターミナル起動します。それから公開鍵を作成します。

$ cd ~/.ssh
$ ssh-keygen -t rsa -C suyama@its-office.jp
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/#{ユーザー名}/.ssh/id_rsa): #{enterを押す}
Enter passphrase (empty for no passphrase): #{enterを押す}
Enter same passphrase again: #{enterを押す}

パスフレーズはなくても良いです。

Your identification has been saved in /Users/#{ユーザー名}/.ssh/id_rsa.
Your public key has been saved in /Users/#{ユーザー名}/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256: c3V5YW1hQGl0cy1vZmZpY2UuanA= suyama@its-office.jp
The key's randomart image is:

このように表示されればOKです。

2. 公開鍵をBitbucketに登録

Bitbucketにログインして一番右のユーザーアイコンをクリックしてアカウントの管理を選択します。

bitbucket

すると左側にセキュリティという項目の下にSSHキーというのがありますのでクリックします。

bitbucket

鍵を追加をクリックするとモーダルウィンドウが出てきます。 ターミナルに戻り下記を入力するとkeyがクリップボードにコピーされるので

$ cat ~/.ssh/id_rsa.pub | pbcopy

モーダルウィンドウにキーを貼り付けます。labelは何でも良いです。そして鍵を追加します。

リポジトリ作成

bitbucket

アカウントとった時点で作成しておいても良いですね。リポジトリは上のメニューからリポジトリからリポジトリ作成で作成しておいてください。

3. config作成

$ cd ~/.ssh
$ touch config
$ chmod 700 config
$ vim config

configを以下の通り設定します。

Host bitbucket.org
  HostName bitbucket.org
  IdentityFile ~/.ssh/id_rsa
  User git
  Port 22
  TCPKeepAlive yes
  IdentitiesOnly yes

ローカルディレクトリを設定する

新規の場合

$ mkdir /path/to/your/project
$ cd /path/to/your/project
$ git init
$ git remote add origin git@bitbucket.org:test/sample.git
$ git remote -v

最初のファイルをコミットしましょう!

$ echo "# My project's README" >> README.md
$ git add README.md
$ git commit -m "Initial commit"
$ git push -u origin master
$ git remote -v

これで完了!あとはファイルを修正したり作成するたびにコミットしていきましょう!

すでにプロジェクトがある場合

cd /path/to/your/repo
$ git remote add origin ssh://git@bitbucket.org/test/sample.git
$ git push -u origin master
$ git remote -v

これで完了です!ファイルができているか確認しましょう!

以下はコマンドリスト

ベーシックコマンドリスト

よく使うコマンドリストです。覚え書き

リポジトリをチェックアウト

$ git clone /path/to/repository # ローカルリポジトリへ作業コピーを作成します。
$ git clone username@host:/path/to/repository # リモートサーバーの場合。

追加ファイル

$ git add <filename>
$ git add * # インデックスをステージングエリアに1つ以上のファイルを追加します。

コミット

$ git commit -m "Commit message" # ヘッドへの変更をコミットします。
$ git commit -a # 変更したすべてのファイルをコミットします。
$ git commit --amend # ログを増やさないコミット編集

プッシュ

$ git push origin master # リモートリポジトリのmasterブランチへの変更を送信します

ステータス

$ git status # 変更したファイルと、まだ追加またはコミットする必要があり、それらを一覧表示します。

リモートリポジトリに接続

$ git remote add origin <server> # リモートサーバーにローカルリポジトリを接続していない場合は、それにプッシュすることができるようにサーバーを追加します。
$ git remote -v # 現在構成されているすべてのリモートリポジトリをリストします。

ブランチ

$ git checkout -b <branchname> # 新しいブランチを作成し、それに切り替えます。
$ git checkout <branchname> # 一方のブランチから別のものに切り替えます。
$ git branch # すべてのブランチの一覧を表示し、現在作業しているブランチを教えてくれます。
$ git branch -d <branchname> # ブランチを削除します。
$ git push origin <branchname> # 他の人がそれを使用することができるように、リモートリポジトリにブランチを送信
$ git push --all origin # リモートリポジトリにすべてのブランチをプッシュ
$ git push origin :<branchname> # リモートリポジトリ上のブランチを削除します。

リモートリポジトリからのアップデート

$ git pull # 作業ディレクトリにリモートサーバー上の変更をマージする。
$ git merge <branchname> # アクティブなブランチに別のブランチをマージする。
$ git diff # すべてのマージの競合を表示します。
$ git diff --base <filename> # ベースファイルに対する競合を表示します。
$ git diff <sourcebranch> <targetbranch> # 合併前のプレビューの変更
$ git diff --cached # ステージングエリア後
$ git add <filename> # 手動で任意の競合を解決したら、変更されたファイルをマーク

タグとログ

$ git tag <tag_name> <commitID> # このようなリリースとして、大幅なチェンジセットをマークするためにタグ付けを使用することができます。
$ git log # CommitIdは10まで、チェンジセットIDの先頭の文字ですが、一意である必要があります。使用してIDを取得します。
$ git log --oneline # 一行参照
$ git log --stat # どのファイルが何カ所変わったか
$ git push --tags origin # リモートリポジトリにすべてのタグをプッシュ
$ git tag -d <tag_name> # タグ削除
$ git show <tag_name> # タグ名から中身を見ることができる

ローカルの変更を元に戻します

$ git checkout -- <filename> # ヘッド内に最後の内容と作業ツリーの変更を置き換えることができます。すでにインデックスだけでなく、新しいファイルに追加された変更は、保持されます。
$ git fetch origin
$ git reset --hard origin/master # 代わりに、すべてのローカルの変更を削除し、コミットし、サーバーから最新の履歴を取得し、それをローカルのmasterブランチを指して、実行する

検索

$ git grep "foo()" # 作業ディレクトリを検索foo():

エイリアス作成

$ git config --global alias.co checkout # チェックアウトをco
$ git config --global alias.st status # ステータスをst
$ git config --global alias.br branch # ブランチをbr
$ git config --global alias.ci commit # コミットをci

参考になれば幸いです。


∞Tadashi Suyama∞

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

Similar Posts

最近の投稿

アイキャッチ
新しいことを続ける力を身につける方法

今回は新しく始めるきっかけや物事にどのように取り組むかを考えてみたいと思います。 結構新しいことを始めることって大変だと思います。なかなかの勇気と体力が必要かなと。 例えばダイエットとかを例...

24 Jun 2017

アイキャッチ
ドメインオーソリティの使い道

ドメインオーソリティーとは一言で言えばドメインの価値を数値化したモノです。ドメインに関するものなので中身については全く意味をなさないと思います。ドメインオーソリティーの数値が低いから低品質なコン...

17 Jun 2017

アイキャッチ
個人情報を一切収集しない検索エンジンDuckDuckGoとは?

ネット検索と言えば、日本ならGoogleやYahoo Japan!(検索エンジンはGoogle)経由が多いですね。Bingは少数派といったところでしょうか。 DuckDuckGoという検索エン...

10 Jun 2017

アイキャッチ
ブートストラップバリデータ使い方 - Validator - for Bootstrap 3

今回はフォームバリデータのご紹介です。前回のPHPMailerと関連がありますが、フロントエンドでのバリデートができます。 CSSのフレームワークBootstrap3をお使いの方ならすんなりと...

03 Jun 2017

アイキャッチ
PHPMailerの使い方

今回はあらゆるところで使われているPHP用のメール送信ライブラリphpmailerの使い方を紹介します。 脆弱性がPHPMailer5.2.18より下のバージョンで発生するので新しいバージョン...

28 May 2017

著者

ウェブエンジニアのSUYAMAのブログです。

WEBに関することや個人的に関心のあることについて書きます。主に技術系ブログです。

タグクラウド

git web developer
フッターイメージ