Git 使い方
目次
Gitの基礎
◎コマンド
●基本のコマンドと説明
git init
、git clone
、git add
、git commit -m
、git push origin master
、git pull origin master
- 共有リポジトリの作成
git init
- 作業ディレクトリを作成しクローン
クローン:サーバが保持しているデータをほぼすべてローカルにコピーします。これはプロジェクトのすべてのファイルのすべての履歴が手元にコピーされることを意味しています。
他の開発者に影響を与えずにブランチを作成したりできる分散管理バージョンのメリットです。
git clone https://username@domain/path/to/repository
- 作業ディレクトリで変更したファイルを索引に追加(コミット準備、管理対象にする)
git add ファイル名
git add * #変更があったファイルをすべて索引に追加します
- 変更内容をコミットする
コミット:新規作成したファイルや編集したファイルを保存すること。作業ディレクトリで開発を進めて、区切り毎に保存する操作
git commit -m "コミットメッセージ”
コミットメッセージは他の人がわかるように書く
# 例
git commit -m "Create ファイル名"
git commit -m "Change 変更した部分 変更した内容 (ex: Change subtitle color)"
- 変更を共有リポジトリに反映させる
マスタブランチにコミットされた HEAD の内容を共有リポジトリに送信する(origin = 共有/リモート リポジトリ)
git push origin master
- 作業ディレクトリを最新のコミットに更新する
git pull origin master
●開発途中のコードを共有しないよう完成したものを選択するために使えるコマンド
gitでは共有する部分を把握することが大事。
git status
、git diff
、git log
、git log -p
- 変更したファイルを把握する
git status
…
変更したファイルは赤く表示される
- 変更した内容を把握する
git diff
…
追加された部分が緑色で表示される
また、コードを変更した部分では、変更前のコードが赤色、変更後のコードが緑色で表示される
変更内容を確認して、その内容でよければgit add
する
- 「git add」したファイルの確認
git status
…
add されたファイルが緑色、変更はあるがまだ add されていないファイルが赤色で表示される
- 他の人のコミットメッセージを見る
git log
Ex:
commit 9f6af24370a9e0406555506e79ab4430bff4e6a2 (HEAD -> master, origin/master)
Author: Ninja Wanko <wanko@prog-8.com>
Date: Fri Feb 12 18:04:06 2021 +0900
Change subtitle color
commit dab5cae5c690e2860a58ec5baa0b3c43b4f13c36
Author: Hitsuji Sennin <hitsuji@prog-8.com>
Date: Fri Feb 12 16:10:40 2021 +0900
Create stylesheet.css
commit d8cccd7b8f8eae452c76a23d190028e595cad436
:
- 他の人の変更内容を見る
git log -p
Ex:
commit 9f6af24370a9e0406555506e79ab4430bff4e6a2 (HEAD -> master, origin/master)
Author: Ninja Wanko <wanko@prog-8.com>
Date: Fri Feb 12 18:04:06 2021 +0900
Change subtitle color
diff --git a/index.html b/index.html
index 3d452cb..cbde591 100644
--- a/index.html
+++ b/index.html
@@ -7,6 +7,6 @@
</head>
<body>
:
git log
や git log -p
では表示内容が多い時は特殊な表示モードになる。
上下キーを使うと表示範囲を変えられて、Qキーを押すことで終了できる。
◎【Mac】Git環境構築
- ターミナルを準備する
- Gitのインストール
以下のコマンドを実行
$ git --version
Gitのバージョン番号ではなく、ウィンドウが表示された方は、コマンドライン・デベロッパーツール(Xcode)をインストールしましょう。
使用許諾契約が表示されると思いますので、内容に問題がなければ「同意する」をクリックしてください。
ここまで完了するとダウンロードとインストールが実行されます。
インストールが完了すると、Gitを使えるようになります。
- Gitの初期設定
ユーザー名とメールアドレスを設定する
Gitにユーザー名とメールアドレスを設定することで、コミットしたときに誰が行なったコミットかを記録することができます。
以下のコマンドを実行して設定
$ git config --global user.name "ユーザー名"
$ git config --global user.email "メールアドレス"
◎Githubの設定(サイトを見た方がわかる)
Githubを利用して、リモートを作成する
Githubを利用するために、アカウントを作成しましょう
以下のリンクからGithubにアクセスしてください。
●リモートを作成する
Githubのヘッダー右上にある「+」をクリックします。
「+」をクリックして表示される項目の「New repository」をクリックします。
「Repository name」の箇所にプロジェクト名を入力して「Create repository」を押すと、リモートを作成することができます。
リモートリポジトリの作成が完了すると、httpsが示されたページに移ります。(参考サイト参照)
●Githubにプッシュをする(サイトを見た方がわかる)
Githubで作成したリモートにプッシュする
Gitを使う準備をする
Gitで管理するディレクトリを作成し、移動します。(コードを書くとこ)
$ mkdir mysite
$ cd mysite
そのフォルダをGitで管理できるように、以下のコマンドを実行します。
$ git init
git init
を実行した後、git hub でリモートリポジトリ作成完了後に表示されたhttps
から始まる1行をコピーしてください。
コピーできたら の部分をコピーしたものに置換えて下のコマンドを実行してください。
このコマンドは、プッシュ先のリモートリポジトリを指定するコマンドです。
$ git remote add origin <URL>
プッシュする
次に、プッシュするためにファイルを作成してコミットしましょう。
$ touch index.html
$ git add index.html
$ git commit -m "Create index.html"
ここまでできたらプッシュします。
$ git push origin master
プッシュできているかをGithubで確認してみましょう。
プッシュができていればGithub上にindex.htmlが作成されているはずです。
うまくいかない時のチェックリスト
うまくいかない場合は、以下のような間違いがないかチェックしてみましょう。
・記事で指定したコードが貼り付けられていない
・入力したファイル名やソースコードなどに誤字脱字がある
・ファイルが保存されていない
・記事で指定している箇所にフォルダが配置されていない
・コマンドの内容や実行している場所が違う
●personal access token の発行
Githubアカウントの二段階認証を有効に設定した場合、git pushなどのコマンドを実行してGitHubにアクセスするにはPersonal access tokens
というアクセストークンが必要になる。
githubでPersonal access tokens
を発行する。
手順は参考サイトを参照のこと。
仮想環境でGitとdockerを使う
◎【VirtualBox+Vagrant】仮想環境にgitとdocker-composeをインストール
●gitのインストール
以下のコマンドをターミナル上で実行するだけです。
sudo yum install git
…
完了しました!
途中インストール確認がありますので「y」を入力しEnterを押下します。
インストールはすぐ完了しますので、完了後バージョン確認コマンド(git —version
)を実行しバージョンが表示されればインストールが正常に完了しています。
[vagrant@localhost ~]$ git --version
git version 1.8.3.1
●Gitの初期設定
ユーザー名とメールアドレスを設定する
Gitにユーザー名とメールアドレスを設定することで、コミットしたときに誰が行なったコミットかを記録す ることができます。
以下のコマンドを実行して設定
$ git config --global user.name "ユーザー名"
$ git config --global user.email "メールアドレス"
Gitで管理するディレクトリを作成し、移動します。(コードを書くとこ)
$ mkdir mysite
$ cd mysite
そのフォルダをGitで管理できるように、以下のコマンドを実行します。
以下の操作に続く
●vagrant
で管理しているアプリをgit
やGitHub
に連携させる
1. GitHubの準備
まずGitHubの自分のアカウントに入ります。
new repository
で新しいリポジトリを制作します。
リポジトリの名前を入力して「Create repository」を押せば完了です。 ここで大切なのがリモートリポジトリのアドレスが表示されるので__HTTPSを選択してURLをどこかにコピペしておく__と後で都合がいいです。
2.Gitの導入
vagrantを立ち上げてアプリを制作しているディレクトリまで移動します。
$ git init
でGitを導入します。
$ git add .
$ git commit -m "ここにコミットに関するコメントを書く"
これでファイルをコミット出来たので続いては GitHubをリモートリポジトリに設定していきます。
3.GitHubの連携
それではリモートリポジトリの設定なのですが、先ほどコピペしておいたURLを使います。
$ git remote add origin https://github.com//hogehoge.git
ーーーーーーー補足ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
$ git push -u origin master(オプション-u : —update)
↑オプションの意図がよくわからないので今回は__補足のコマンドgit push origin master
を使った__。
参考URL
これで紐づいたので、git remote
コマンドで確認。(origin
と表示されれば紐づいている。)
$ git remote
origin
プッシュしたら完成
[vagrant@localhost docker_git]$ git push origin master
Username for 'https://github.com': ユーザー名
Password for 'https://ユーザー名@github.com':
githubのUsername とパスワードを入力
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
これで
$ git push -u origin master
(オプション-u : —update 変更されたファイル )
とすればOKのはずですが(今回は補足のgit push origin master
を使った)
4.403と出たら
もしそこで
error: The requested URL returned error: 403 Forbidden while accessing https://github.com/hogehoge/rss.git/info/refs
fatal: HTTP request failed
このようなエラーが出てしまったときは
$ git remote set-url origin https://ここにユーザーネーム@github.com/ritukiii/rss.git
リモートリポジトリのURLにユーザーネーム
を入れれば解決します。
もう一度pushすればこんどはGitHubのパスワードを聞かれるので入力すれば GitHubのマイページで確認できます。
5.非表示にしたいファイルがあるときは
ついでにGitHubに乗っけたくないファイルをアップしてしまった時の対応ですが 普通gitignore
を使うと思うのですがもしgitignore
でファイルを非表示にしてるはずなのにGitHubで表示されてしまうということがあったら gitignoreをコミットする前にファイルをアップしていないか確認してみてください。 もしそうでしたら、
$ git rm ファイル名
をするとGitHubからファイルを消すことができます。
参考サイト
——————————————————————————————————
ファイルの変更や追加の時
当該フォルダまで移動する
ローカルリポジトリに反映させるため git add ファイル名orディレクトリ名
[vagrant@localhost docker_git]$ git add docker/docker-compose.yml
説明のためのメッセージをつけるときは git commit -m “”
で追加
[vagrant@localhost docker_git]$ git commit -m "add docker-compose.yml"
下記のように追加されたファイル等に関する説明が出る。
[master 70dXXXX] add docker-compose.yml
1 file changed, 15 insertions(+)
create mode 100644 docker/docker-compose.yml
Githubに反映させるため git push origin master
[vagrant@localhost docker_git_aws]$ git push origin master
Username と password を入力する
↓
Username for 'https://github.com': ユーザー名
Password for 'https://ユーザー名@github.com':
Push された内容等が記載される
Counting objects: 5, done.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 715 bytes | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/ユーザー名/docker_git.git
1d0d5af..70d9a33 master -> master
GitHub でブラウザを更新すると内容がアップデートされている。