LoginSignup
9
3

More than 3 years have passed since last update.

EC2のLaravel環境にGitを入れて開発を開始する AWS/Laravel6.0連載(4)

Last updated at Posted at 2019-09-14

はじめに

前回に続き、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あたりもエイリアスが効いているので使ってみてください。

本日は以上です。

9
3
0

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
  3. You can use dark theme
What you can do with signing up
9
3