gitの流れを勉強したので一連の流れを書き留めます(また備忘録)。
pushのやり方(ローカル→リモート)
##1. git init
好きなディレクトリをGit管理下に置く。まずここから。
$ mkdir <dir> #←ディレクトリの名前
$ cd <dir> #initする前に移動
$ git init #.gitができる(隠してあるので確認時は -al必須)
##2. git add
さっき作ったディレクトリにGitにpush(後述)したいファイルを入れた後に、まずindexのステージに渡してあげなきゃなのでaddしてあげる。
$ git add <file>
ちなみに、のところのパラメータに「.」を渡すと全ファイル指定になるので一個一個書かなくて済む。非常に楽。
##3. git commit -m "<コメント>"
pushするための最終準備としてcommitで確定してやると準備は完了。
$ git commit -m "first commit" #コメントには備考書いたりする
##4. git remote add
リモートリポジトリにローカルで作成したディレクトリとかファイルを共有したいときは、まずリモートに紐付けを行わなければならない。
$ git remote add <name> <url>
name には紐付けたいリモートの名前
url にはそのリモートURL
##5. git push
やっとここでpushできる。
$ git push -u <repository> <refspec>
repository にはさっき紐付けたリモートの名前(ちなみにここはoriginって入れても同じ。というかoriginの方がよく使うらしい)
refspec にはローカルからpushしたいbranchを指定する(masterもbranchなのでmasterと書いてももちろん良し)
ここまででリモートにローカルからpushしたディレクトリがある...はず
pullのやり方(リモート→ローカル)
共同で開発する時、職場の他のエンジニアの人もpushしてマージするとローカルのmasterとリモートのmasterに差分(違うところ)が生じる。この時pullでアップデートする必要が出てくる。
git pull
$ git pull <repository> <refspec>
repository にはリモート
refspec には更新したいローカルのmaster
また、この作業をする前にローカルのbranchをmasterに切り替えておかないと更新されないし、コマンドのrefspecにbranch入れちゃうと、masterが古くてbranchが最新になってしまいカオスになる。なので、
$ git checkout master
Switched to branch 'master'
$git pull origin master
みたいにすると良い。
これでローカルのmasterも最新になる。
便利なコマンド
あると便利なコマンド。(というか絶対使う気がする)
git status
ローカルでGit管理下のディレクトリのステージ確認ができる。
かなり便利で、自分がaddしたかとかcommitしたかも確認出来るから漏れなく作業進められる。次するべき作業とかも教えてくれるので僕みたいな初心者にも優しいつくりになっている。
$ git status
On branch master
nothing to commit
例えば、commit直後だとこうなる。nothing to commitと出てるので、もうcommitができていることがわかる。
git branch
今までローカルリポジトリで作ったブランチとその中で今自分がどこで作業しているか(カレントブランチ)の確認ができる。コマンドラインのpwdとかlsみたいなコマンド。
$ git branch
master
*branch1 #カレントブランチにはこんな感じで記号がつく。
branch2
git checkout
ブランチの切り替えができる。cdみたいな感覚で使う。
$ git branch
master
*branch1
branch2
$ git checkout master
Switched to branch 'master'
$ git branch
*master
branch1
branch2
完全に自分専用の備忘録になってしまいました...
もっとこうしたほうがいいとか訂正したほうがいいところなどありましたら、ご指摘いただけると嬉しいです。よろしくお願いします!