CodeLog

開発メモ

初めてのGitHub(続き)

GitHubへプロジェクトを登録したので、今回は少し操作してみます。

ブランチ作成

  1. 「git checkout -b [branch name]」でブランチ作成
  2. 「git branch」でローカルブランチを一覧表示
    • 「*」が表示されるのが現在使用していることを意味しているらしい(ブランチ作成と同時に変更された)
  3. 「git mv」でファイル名変更をして内容変更(README.rdocをREADME.mdに変更)
    • git mvは「mv oldname newname && git add newname && git rm oldname」の省略形らしい
  4. 「git status」で状態を確認
  5. 「git -a -m "change message"」でコミット
    • 現存するすべてのファイル変更を一括でコミットする-aフラグを使うことで「git add .」せずにファイル追加をしている
$ git checkout -b branch_20150322          # ブランチ作成
Switched to a new branch 'branch_20150322'
$ git branch
* branch_20150322
  master
$ git mv README.rdoc README.md             # ファイル名変更
$ vi ./README.md
$ git status                               # 状態を確認
On branch branch_20150322
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        renamed:    README.rdoc -> README.md

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:   README.md

$ git commit -a -m "Improve the README file"
[branch_20150322 74ca3ba] Improve the README file
 1 file changed, 2 insertions(+)
 rename README.rdoc => README.md (86%)

マージ

  1. 「git checkout master」で作業対象をmasterに切り替え
  2. 「git merge [branch name]」でマージ
  3. 「git branch -d [branch name]」使い終わったブランチを削除
$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
$ git merge branch_20150322
Updating 6a12635..74ca3ba
Fast-forward
 README.rdoc => README.md | 2 ++
 1 file changed, 2 insertions(+)
 rename README.rdoc => README.md (86%)
$ git branch -d branch_20150322
Deleted branch branch_20150322 (was 74ca3ba).

ブランチをマージしないで破棄するためには「git branch -D [branch name]」とするようです。「git branch -d [branch name]」では、自動的にマージされてしまうようです。
上記の操作をしてしまったのですが、「git reset --hard ORIG_HEAD」で元に戻りました。CVSSubversionと同じような感覚で作業すると危険かもしれないです…。

push

  1. 「git push」でGitHubに反映
    • GitHubのユーザとパスワードを求められるので入力

これまでVSS, CVS, Subversionを利用してきたのですが、Gitは少し難しく感じました。ブランチも保守フェーズになるまではあまり使ってなかったですし…。
「習うより慣れろ」で困った時に都度調べていくしかない気がしますが、「サルでもわかるGit入門 〜バージョン管理を使いこなそう〜 | どこでもプロジェクト管理バックログ」のような分かりやすいサイトもあるので、ざっと読んでおくのが良いかもしれないです。