まず Git を使う準備として、$ git init
を実行
共同開発3ステップ概要
- コード変更
- 共有準備
- 実際に共有
「1. コード変更」は各自お好きなようにするとして、2, 3を説明していきます。
2. 共有準備
共有の準備としては共有したいファイルを選択→選択したファイルを記録します
共有準備2ステップ概要
-
$ git add -A
ですべてのファイルやフォルダを選択、または$ git add ファイル名
でファイルを選択。例:$ git add start.py
-
git commit -m "コミットメッセージ"
で選択したファイルを記録。(俗に言う「コミットする」)
3. 実際に共有&他の人も自分の作ったファイルを使えるようにする。
他の人も自分の作ったファイルを使えるようにするため、Git では「リモート」という共有ファイル置き場が用意されています
実際に共有4ステップ概要
- リモートの URL を登録
- リモートに名前をつけて登録 (「origin」が一般的。
$ git remote add リモート名 URL
でリモート登録 例:$ git remote add origin https://yukiya025sharefile.git
) - リモートにファイルをアップロード (
$ git push origin master
。「プッシュする」) - リモートからファイルをダウンロード (
$git pull origin master
「プルする」)
共有準備~他の人も自分の作ったファイルを使えるようになるまでの流れ
以下の流れを繰り返す
- add
- commit
- push
- pull
そもそもGitを使う目的
- 共同開発では自分が行った変更を把握し、その中で相手に共有すべき部分を選択できるようになることが大事
そのために準備されている機能
-
$ git status
(自分が変更したファイルのファイル名を表示。add済ファイルが緑、未addファイルが赤色
)
-
$ git diff
(変更前のコードは赤、変更後のコードは緑
で表示)
-
$ git log
(自分や他人のコミットを確認。ログの上の方が新しいコミット)
-
$ git log -p
(変更内容を表示。上下キーで表示範囲を変更、Qキーでこのモードを終了)
1~2を確認して、その内容でよければ $ git add
する。
cloud9からgithubに連携するには
上記までの知識を頭にいれつつ、rails-study.netさんを参考にしました。railsとありますが、使っているフレームワークや言語に関わらず連携方法は同じです。
一度rails-study.netさんの記事を参考にして$ git init
からすべての作業をやり終えたら、その次からはadd→commit→push→pullを必要に応じて繰り返せばよし。
ちなみにQiitaで文字の色を変えるのは@twipgさんが解説してくれています。
ブランチを作成する
ブランチを作ると何がよいのかというと、文字通り「枝」なので、「元々のコードが動かなくなったらどうしよう」という私の心配を汲み取ってくれる素晴らしい機能なのです
masterブランチが開発のメインとなるのですが、それと平行してもうひとつブランチを作りそこで開発をして「これで大丈夫! ちゃんと動くよ!」となった時点でそのブランチをmasterブランチに統合します。
-
$ git branch rename_file(←新ブランチ名)
でブランチを作成 -
$ git branch
で現在のブランチを確認 -
$ git checkout rename_file
でrename_fileブランチへ移動 - rename_fileブランチ上で開発を進める
開発ができたらrename_fileブランチをmasterブランチへmergeする。
ブランチを切って作業した後はmasterにマージ
-
$ git checkout master
でmasterに移動 -
$ git merge device
でマージ (deviceは私が作成したブランチ名) - あとはmasterブランチでaddからpushを行う。
masterではないブランチもGitHubにpushしよう!
- masterブランチにいるのであれば、
$ git checkout device
でdeviceブランチへ移動 (deviceは私が作成したブランチ名) - deviceブランチでaddからpushを行う。push時は
$ git push origin device
。
- GitHubで[Code]>[branches]でdeviceブランチがあればOK。
- codeタブで以下からdeviceブランチの中身 (コード) を確認可能。
[プラスアルファ] その他のgit機能 (未使用だけどそのうち使うかも?)
-
git rm ファイル名
: gitの管理下にあるファイルを削除するためのコマンド
[プラスアルファ] 実際に使ったその他のgit機能
実行環境はWindowsです。
-
rmdir /s .git
:git init
を取り消したいとき