入社して2週間で参考にしたWebページまとめ

今の会社に入社して2週間

こんにちは、ヒロアキです。
今の会社に入社して2週間たちました。
自分の実力の低さを痛感した2週間でした。
今回は、業務中に参考にしたサイトなどを残していきたいと思います。
自身の記録という意味での記事なので、バリバリのキャリアの人には役立ちませんが、エンジニアを目指す人には参考になるかも……しれません。

業務中にメモした事まとめ

MySQL

・mysqldump
そもそもdumpとは →  https://wa3.i-3-i.info/word1569.html
mysqldumpコマンド →  mysqldumpまとめ

・GRANTコマンド
権限の設定(GRANT文) - ユーザーの作成 - MySQLの使い方

SQLモード(SQLの動作指定)
MySQLのSQLモードをstrictモードで設定する。

Linuxコマンドなど

・PATHを通す
PATHを通すとは? (Mac OS X)

・デーモン
https://wa3.i-3-i.info/word11000.html

・lnコマンド
【 ln 】コマンド――ファイルのハードリンクとシンボリックリンクを作る:Linux基本コマンドTips(16) - @IT

wgetコマンド
【 wget 】コマンド――URLを指定してファイルをダウンロードする:Linux基本コマンドTips(24) - @IT

・pemファイル
[OpenSSL] pem ファイルとは?SSL証明書の中身を確認する方法|てくめも@ecoop.net

・scpコマンド
scpコマンド チートシート

Apache

・基本事項
WEB系の新人が困らないように基本を復習〜Apacheのインストール - 爬虫類嫌いのPython日記

便利な操作

macを使う人はmacの、windowsを使う人はwindowsのショートカットキーを調べて使えるようにしておく
 →マウスを使うと生産性が落ちる場合があります。特にコピペ関連。

・ターミナルで履歴を調べたい時は「history | grep 調べたいコト」
 →だいたいの見当がついていれば「ctl+r」の方がそのまま実行できて楽

・/etc以下のファイルをいじくる時は、不安であれば、cpコマンドでバックアップをとる
 →最後に「.org」をつけるなど

gitコマンドのまとめ

個人的な話

こちらのブログを更新するのは、超久々です。笑

色々とありまして、業界完全未経験ですが、2018年10月から自社サービス系の企業様のもとで働くことになりました。 (このブログは、自分のメモを残しておくために使うことにしたので、一番最初の記事以外削除しました。)

一般的には(?)、未経験から自社サービス系の企業に転職するのは所謂「成功」なのですが、もし試用期間で切られたら恥ずかしいので(笑)、「どういう風に転職活動をしたか」みたいな講釈を垂れるつもりはまだありません。

(そういう話はtwitterのDMで承ります→ ヒロアキ@twitter

本題

今回は、タイトルにもあるように、gitコマンドを自分なりにまとめようと思います。   理由は、「入社前に復習しといて」と言われたのと、未だにググりながら使うことが多いからです。
一応、udemyで講座を修了したのですが、やはりアウトプットしないと覚えませんね(^^;)
という訳で以下にコマンドと、gitの注意点がつらつらと続きます。
完全に自分用のメモなので、qiitaの記事とか見た方が分かりやすいと思います。笑

git init  //空のgit repositoryが作成される

git remote add <remote name> <repository URL>  //<remote name>というショートカットで、URLのリモートリポジトリを登録する
git remote show <remote name>  //リモートリポジトリの確認 
git remote rename <old name> <new name>  //リモートリポジトリの名前を変更する

git push --delete <remote name> <branch name>  //リモートブランチを削除する
git remote rm <remote name>  //リモートリポジトリを削除する

git clone <repository URL>  //URLのリモートリポジトリのコピーを作成する

git add <change file>  //変更をステージに追加する

git commit -m "<message>"   //変更を記録する(メッセージを書く)
git commit -v  //変更を記録する(エディタで記録)

git status  //変更されたファイルを確認する

git diff  //変更差分を確認する(git addする前のファイルのみ。)  
        //後ろにファイル名を付ければ、そのファイルのみの差分を確認できる)  
git diff --staged  //変更差分を確認する(git addした後のファイル)

git log --oneline  //一行で、変更履歴(コミットメッセージ)を確認する
git log -p <file>  //ファイルの変更履歴を確認する
git log -n <number>  //表示する履歴数を指定する

git rm <file>  //ファイルの削除を記録する
git rm --cached <file>  //リポジトリにあるもののみ削除(ワークツリーは削除されない)

git mv <file>  //ファイルの移動を記録する

git push <remote name> <branch name>  //ローカルリポジトリの内容をリモートリポジトリに送信する

git pull <remote name> <branch name>  //リモートリポジトリの内容をローカルリポジトリとワークツリーにコピーする

git checkout -- <file>  //ファイルの変更を取り消す。git addする前におこなう。

git reset HEAD <file>  //git addしたファイルをステージから消す。ワークツリーになされた変更はそのまま。

git commit --amend  //直前のコミットを修正する。  
           //viで編集します。
git commit --amend -m "<commit message>"  //上記と同じ意味

git rebase -i HEAD~数字  //2つ以上前のコミットメッセージを修正する時に使用。  
               //viが立ち上がるので、修正したいコメントのpickをeditに変更後、  
               //git commit --amendで修正 → git rebase --continue(複数修正する場合は、都度git rebase --continueする)  

git branch  //ブランチの表示
git branch <branch name>  //新しいブランチを作る

git branch -m <new branch name>  //自分が作業しているブランチの名前を変更する。
git branch -d <branch name>  //ブランチを削除する。

git checkout <branch name>  //ブランチの切り替え
git checkout -b <branch name>  //ブランチの新規作成と、そのブランチに切り替え

git fetch <remote name> <branch name>  //リモートリポジトリのbranch nameの内容をローカルリポジトリにコピーする

git merge <branch name>  //branch nameの内容を現在のブランチに合流させる
git merge <remote name>/<branch name>  //git fetchしてきたブランチを現在のブランチに合流させる

git rebase <branch name>  //現在のブランチの基点となるコミットをbranch nameに変更する

git tag  //タグの一覧を表示する
git tag -a -m "<message>"  //現在のブランチの最新のコミットに、署名などの情報付与型のタグの作成
git tag <tag name>  //現在のブランチの最新のコミットに、タグの作成
git tag <tag name> <commit name>  //コミットにタグを後付けする

git show <tag name>  //タグの詳細内容を表示

git push <branch name> <tag name>  //タグをリモートリポジトリに送信する
git push <branch name> --tags  //全てのタグを送信する

git stash  //現在、変更しているファイルを一時的にステージ・ワークツリー上から避難させる
git stash -u  //追跡していないファイルも避難させる  
git stash list  //避難した作業を確認する

git stash apply <stash name>  //避難させた作業を復元する。EX-git stash apply stash@{0}

git stash drop <stash name>  //避難させた作業を削除する
git stash clear  //全作業を削除する

git revert <commit ID>  //git pushした後のコミットを打ち消すコミットの生成。これの後にpushし直す。

※注意点
・git pullは基本的に使わない。
 →取得するリモートリポジトリのブランチがローカルリポジトリの異なるブランチを上書きしてしまう場合がある。

・コンフリクトしたらファイルの中身を書き換えるか、「>>>」「===」「<<<」を消去する。
 →git add
 →git commitで解決

・そもそもコンフリクトが起きないようにするには、、、
 →複数人で同じファイルを編集しない。
 →pull , mergeの前にcommit , stashをしておく。
 →pullする時は必ずgit branchする

・git pushしたコミットをgit rebaseしない
 →やってしまうと、push出来なくなる
 →pushする前はrebaseを使い、した後はmergeするとコンフリクトを防ぎ易い

・基本的な開発手順
 ・git cloneをする
 →branchを確認する(git branch)
 →開発用に新しいbranchを切って、移動する(git checkout -b branch name
 →不安だったら移動先のbranchにいるか確認(git branch)
 →その状態のままコードを書く
 →addしてcommitする(git add, git commit)
 →自分の担当部分が終わったらpushする(git push remote name branch name
 →Pull Requestを出す
 →mergeされたのを確認したら初めのbranchに戻る(git checkout branch name
 →localでいままで作業していたbranchを削除する(git branch -d branch name
 →他の人の開発分を取り込む
(git fetch remote name branch name, git merge remote name/branch name