はじめに
前回に続き、EC2のLaravel環境にGitを入れてみましょう。
前回記事はこちら
EC2のLaravel環境にMySQLを入れる AWS/Laravel6.0連載(3)
Amazon LinuxにGitを入れる
Gitはバージョン管理ツールです。
変更履歴ごと保存できて、変更点が競合してもよしなに統合してくれます。
そのおかげで前のバージョンに戻したり、複数人でファイル編集した時に全員の変更点を簡単に結合してくれます。
$ sudo yum install git
$ git --version
成功したらバージョンが表示されます。
これでgitコマンドが使えるようになります。
git version 2.17.2
GitHubにリポジトリを作る
https://github.com/
RepositoriesのNewから新しいリポジトリを作る。名前は好きなものを。
Readmeはとりあえず作らなくてOKです。
Publicだとインターネット上で公開されるので、セキュリティ上問題のあるファイルや情報は出さないようにしましょう。
心配な場合はPrivateを選びましょう。
sshキーを作る
$ ssh-keygen -t rsa
全部EnterキーでOKです。
完了すると~/.ssh/下に、id_rsaとid_rsa.pubという2ファイルができています。
id_rsa.pubが公開鍵で、GitHubに登録するファイルになります。
$ cat ~/.ssh/id_rsa.pub
表示されたテキストをコピーし、GitHubの右上アイコンからSettings→SSH & GPG keys→New SSH Keyで登録します。
これで自分の管理するGitHubリポジトリにpush, pullができるようになったはずです。
Git初期化
$ cd /var/www/blog/
$ git init
これでGitコマンドが使えるようになります。
$ git status
Gitリポジトリにpushしていないファイル一覧が出ます。
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.editorconfig
.env.example
.gitattributes
.gitignore
.styleci.yml
app/
artisan
bootstrap/
composer.json
composer.lock
config/
database/
package.json
phpunit.xml
public/
resources/
routes/
server.php
storage/
tests/
webpack.mix.js
yarn.lock
$ git add -A
本来開発中はgit diffで変更点を見て、余計なファイルや変更点が混じっていないか確認した上でpushしますが、初回はadd -Aで全ファイルpushしちゃいましょう。
$ git commit -v
最上部にinitと書いて保存します。
$ git remote add origin git@github.com:【ユーザー名】/【リポジトリ名】.git
ユーザー名とリポジトリ名は、あなたのユーザー名とリポジトリ名を入れてください。
【】は不要です。
$ git push -u origin master
これでGitHubにファイルが上がります。
エラーが起きたら
To github.com:xxx/xxx.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:xxx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
こんな感じのエラーが出たら、
$ git merge --allow-unrelated-histories origin/master
これで解決するかもしれません。
参考:初めてGitHubリポジトリにpushしたらrejectedエラーになったときの対応メモ
gitの設定をする
Git操作する時にgit stとかのエイリアスがあると開発スピードが上がります。
初期設定をしておくところを今回のゴールとします。
$ git config --global user.name "hoge"
$ git config --global user.email hoge@example.com
$ git config --global color.ui auto
hoge部分にはあなたの名前を、emailにはあなたのメールアドレスを入れます。
GitHubリポジトリがpublic公開の場合、ここの情報が公開されるのでお気をつけください。
3行目はgitコマンドの色を有効にしています。
エイリアスはコピペの方が早いので以下で。
$ vi ~/.gitconfig
以下内容を追記します。
[alias]
st = status
co = checkout
br = branch
ci = commit
これでgit statusが実行されます。
$ git st
co, br, ciあたりもエイリアスが効いているので使ってみてください。
本日は以上です。