ITエンジニアぽん太のブログ

和製SEのぽん太が、IT技術や話題について触れていきます。デスマーチで育ち正しい知識がないので勉強用ブログです。

よく使うGitのコマンド

Gitはよく使っているのですが使いこなすのは結構大変ですよね。

いつも使っている初心者向けのコマンドをまとめておきます!

まずはGit bash をダウンロードしよう

gitforwindows.org

これでWindosでもbashが使えるようになるよ! そしてgitコマンドも打てるようになります。

初期設定しよう

名前とEmailを設定しよう。 これを設定しないとエラーになると思われ。

$ git config --global user.name "user name"
$ git config --global user.email "email@email"

エンコードとeditorの設定 git config --global core.editor 'vim -c "set fenc=utf-8"'

リポジトリをダウンロードしよう

自分のGithub上のリポジトリをお持ちの方は、下記のコマンドでリポジトリをローカルにcloneしましょう。 ローカルにブランチが作成されるはずです。

$  git clone `url`

master branchから開発用のブランチをチェックアウトしよう。

なんかテスト用のプログラムが欲しいのでNode.jsをインストールしている自分がいます。 あんなに家でITはやらないって言ったのに!

''' MINGW64 /tmp/test (master) $ git checkout -b new_develop_function Switched to a new branch 'new_develop_function '''

 /tmp/test (new_develop_function)
$ git branch
  master
* new_develop_function

これで自分の開発用のブランチの完成です。

変更したファイルをcommitする

statusコマンドを叩くとこのような感じで変更ファイルが出力されます。 sample-appのtest.txtが変更されている状態です。

$ git status
On branch new_develop_function
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   test.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        sample-app/

no changes added to commit (use "git add" and/or "git commit -a")

次に中身の確認は必ずやりましょう。 diffコマンドを叩くと差分がローカルに出力されます。 問題がないか確認しましょう - は削除、 + は追加ですね。

$ git diff
diff --git a/test.txt b/test.txt
index e69de29..8405060 100644
--- a/test.txt
+++ b/test.txt
@@ -0,0 +1,2 @@
+
+test

次はadd コマンドです。これはgit内でindexに追加され、stage環境に登録された 状態になります。 先にcheckoutしていますが、この状態でcheckout -bを使ってもOKです。

$ git add test.txt
$ git status
        modified:   test.txt

ではコミットしていきましょう。 コミットコメントはわかりやすいものにしておくと助かるはずです。

git commit -m "fix diff"
[new_develop_function 724bbc5] fix diff

変更したファイルをcommitする

これでpushするとgithubにあなたのブランチが送信されます。

git push origin -u new_develop_function
-u, --set-upstream
           For every branch that is up to date or successfully pushed, add
           upstream (tracking) reference, used by argument-less git-pull(1)
           and other commands. For more information, see branch.<name>.merge
           in git-config(1).

-u optionをつけておくとあなたのリポジトリがセットされて次回からgit push だけでpushができるようになります。

githubを確認してみる

f:id:ponta-it:20190518190124p:plain
これでローカルのディレクトリが反映されている。

これでguthubにコードが送信されたのがわかりますね! ではその画面の new pull request を押してみましょう。

pull requestを作ってmergeしてみよう!

f:id:ponta-it:20190518190329p:plain
プルリクエスト作成画面

こんな感じでmasterブランチにマージするためのプルリクエスト作成画面が表示されました。 マージするブランチを間違えないことと、プルリクエストの名前は後から見直すので 注意して付けてください。

create pull request ボタンを押下でOKです。

f:id:ponta-it:20190518190745p:plain

では最後にマージして終わりたいと思います。

f:id:ponta-it:20190518191032p:plain

merge pull request ボタンを押してマージしたあとに、delete branchで不要なブランチを消しましょう。

まとめるのって意外と大変でした。

いつも参照させてもらってる技術ブログを書いている方には感謝しかありませんね。

以上です!