【Git】GitでのinitからpushおよびBranchの切り方まで

Rails tutorialの第1章を終えました。
その時の気づいたこととか備忘録です。
今回はGitについて

第1章 ゼロからデプロイまで | Rails チュートリアル

Gitについて

Railsチュートリアルでは
作成したプロジェクトをリモートリポジトリ(ここではBitBucket)にpushして
ローカル環境を誤って変更した際の修正方法および、
Branch切った後にcommitした後にmergeを行う方法が記載されていました。
それを図解してみます。

git initからgit pushまで

まず新規作成したプロジェクトをローカルリポジトリおよびリモートリポジトリにpushする流れです。

git_initからgit_pushまで
git_initからgit_pushまで

$git init:リポジトリを初期化します(これは最初に行います。)

$git add -A:リポジトリのファイルをステージングします。
この時.gitignoreの記載内容にマッチしたファイルやフォルダは
リポジトリ対象外となる
ためステージングされません

また、-Aオプションをつけることで
新規作成、修正、削除されたファイルを全てステージングされますので、
基本的に-Aオプションをつければ良いと思います。

ちなみに他のオプションは.が削除を除く全て、-uが変更があったファイルのみAddされます


$git commit:ローカルリポジトリにコミットされます。(デフォルトのBranchはmaster)
この時まだリモートリポジトリ(GitHubやBitbucket)にはコミットされません。
また$ git commit -m "Initialize repository"とすると"Initialize repository"とコメントが残せます

$git remote:リモートリポジトリの接続先を設定します
git remote add origin git@bitbucket.org:ユーザー名/hello_app.gitとすることで、
bitbucketのリポジトリをリモートリポジトリとすることができます。
この時originを加えることでリモートブランチをoriginと別名をつけることができます。

$git push origin:ローカルリポジトリのmasterブランチがリモートリポジトリにpushされます。

Branchを使ったローカルの修正

ローカルファイルを誤って変更した際、Branchを正としてローカルを修正します。

gitCheckoutでLocal修正
gitCheckoutでLocal修正

$git checkout:ローカルをBranchに上書きします。
この時-fオプションをつけることで強制的に上書きします。

Branchを新たに切る

Masterブランチは変更したくなく
変更用のBranchやテスト用のBranchを新たに切りたい場合

開発用Branchを切った後のMargeまで
開発用Branchを切った後のMargeまで

$git checkout -b [Branch名]:
Branchを新たに切ります。Branch名で指定します。
またこの時-bオプションを指定することで
ブランチの作成とチェックアウトをまとめて行うことができます。

$git branchですべてのローカルブランチを一覧表示します。
*がついているbranchはそのbranchが現在使用中であることを表します。

$git add:ステージングします

$git commit:使用中のbranchにコミットします。

$git checkout master:masterブランチに変更します

$git marge [marge元ブランチ]:現在使用中のブランチに対して
マージ元のブランチを比較して変更点をマージします

$git branch -d [ブランチ]:-dオプションをつけるとブランチ削除できます。
また、-Dオプションでブランチの変更を削除できます。

最後に

Rails問わずGitはマストになってきているので、
慣れている人やレクチャーを受けている人はともかく
あまり扱ってない人は今一度基本を見ておくのはいいかもしれないです
上記のことは基本中の基本な時柄になりそうですので
(かくいう自分も仕事では使ったことがなく慣れていないため
間違えているかもですが・・・)

参考

$git addのオプションについて

qiita.com

ありがとうございます。