カレンダー

11 | 2016/12 | 01
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告



最近の記事

カテゴリー

DATE: CATEGORY:TECH


BitBucket(Git)を使い始めてみてるけど便利すぎる。
使い方もSVNより分かりやすくていいんじゃないか!?

と思ったので覚え書き含めて、簡単に使い方をまとめておく。

Photo:Dogged By:JD Hancock
Photo:Dogged By JD Hancock


BitBucketって?


Gitのホスティングサービスです。
一番有名どころがGitHubってサイトで、無料で利用する事が出来ます。
ただ、自分のソースコードを非公開に出来なくて、非公開にするためには、
有料会員になる必要があります。

エセプログラミングしてる私としては、ぜひ非公開で管理したい!!
そんな人にうってつけなのが、BitBucketというホスティングサービス。

無料で非公開管理が出来る上、WebUIも過去から考えるとかなり改善
されてきているようで、最近では日本語対応もベータで始まっています。

というわけで、簡単に使い方をまとめます。

BitBucketでのアカウント作成


まずは、BitBucketでアカウントを作成します。

BitBucketのサイトでサインアップしましょう。

無料ソースコードホスティング - Bitbucket | Atlassian無料ソースコードホスティング - Bitbucket | Atlassianhatena
Bitbucket は Git および Mercurial 用の無料 DVCS コードホスティングサイトです。ホスティングされた wiki、課題管理、ソースコード管理により開発を管理しましょう。

リポジトリの作成


このへんは、とりあえずWebのGUIで進めます。
ログイン後、左上メニューの「リポジトリ」から「リポジトリの作成」を選択。

Photo:2013-09-14 12.21 のイメージ By:onetohihi
Photo:2013-09-14 12.21 のイメージ By onetohihi


そしたら「リポジトリ名」を決めて作成。
・プライベートリポジトリとして作成。
・Gitを選択。
・管理する言語も選択しておく。

Photo:2013-09-14 12.21 のイメージ (1) By:onetohihi
Photo:2013-09-14 12.21 のイメージ (1) By onetohihi


ここまで出来れば、あとはローカルの
コンソールで作業が出来ます。

ローカルリポジトリの作成


Gitは基本、ローカル内のリポジトリ環境で作業が出来ます。
SVNとの違いにもなりますが、常にネットに繋がってなくても
使えます。

というわけで、ローカル内のリポジトリ環境を作成します。

mkdir /path/to/your/protect
cd /path/to/your/project
git init
git remote add origin https://[username]@bitbucket.org/[username]/[repository name].git

(* 設定時には git config で設定追加が必要な場合もあり。)

ここまで出来たらもうコード管理が出来ます。簡単だ!!

add & commit の使い方


では、コード管理を始めます。

echo "This is README" >> README.md
git status >> 現時点の変更点を確認
git add README.md >> 追加したREADME.mdをリポジトリに追加
( git add . ) >> add で「.」とするとすべてのファイルをadd出来ます。
git commit -m "First commit. Adding a README." >> 追加した状態をコミット

このコミットした状態がバージョンとして管理されます。
今回はファイルを追加しましたが、修正した内容も管理出来ます。
なので、どんな変更をしたのかをコメントとして残しておきます。

コミットしとくとその時点のコードに簡単に戻せるので、
マメにコミットしましょう。

コミットしてその情報をホスティングサービス側も
同期させておきたいときは、push しておきます。

git push -u origin master

これで、Web上でソースコードとかが確認出来ます。

不要なディレクトリの削除


addしたけど、不要なディレクトリやファイルが
あるときは、こんな感じで削除します。

ディレクトリ
git rm -r -f deldir
git status
git commit -m "deleted deldir"

ファイル
git rm -r delfile
git status
git commit -m "deleted delfile"


バージョンを元に戻す


add と commit が使えるようになったので、
修正したバージョンを古いバージョンに戻してみましょう。

まずは、commit した履歴を確認してみます。
git log で履歴を確認出来ます。
$ git log
commit 63c63c5afe0aebabd197f27540e7a17b122e439d
Author: username
Date: xxx +0900

Add .gitignore

commit b0e3d293b0bf66814b4ab095cddd097abf76d445
Author: username
Date: xxx +0900

delete old webroot

commit 8630a6e3acbb37fd20cabed0b6762512aefd4a23
Author: username
Date: xxx +0900

change webroot

commit の後のハッシュ値をIDとして古いバージョンの
ソースコードに戻す事が出来ます。

コマンドは「git checkout <ハッシュ値> <ファイル名>」。
こんな感じ。

$ git checkout b0e3d293b0bf66814b4ab095cddd097abf76d445 README.md

最新のファイルに戻したいときはHEADという文字で
最新を指定する事も出来ます。
$ git checkout HEAD README.md

ファイル名を指定せずに戻した場合は、古いバージョンの状態に
戻せます。この状態の場合、ダミーブランチ的な感じで分かれます。
$ git branch
* (no branch)
feature
master

なので、元のmasterに戻す時は、ブランチで戻すように修正する。
$ git checkout master


ブランチの作成


ここまでの作業でバージョン管理は出来るようになりましたが、
もう少し色んなファイルを編集する必要があるような大きな
変更の時はブランチとして管理します。
$ git branch      >>ブランチ状況確認
* master
$ git branch feature >> ブランチ作成
$ git checkout feature >> ブランチにチェックアウト
($ git checkout -b feature) >> 上記2コマンドを1コマンドでも実行可能

これでブランチ作成。
ブランチにファイルをadd, commitとかしてみます。
$ touch README2.md      >> ファイルを作成
$ git add . >> ファイルをaddします。
$ git commit -m "adding README2" >> commit します。
[feature ccccff2] adding README2
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README2.md

これであとはブランチにコミットしていけます。
一応、ホスティングサーバの方にもpushしときます。
$ git push origin feature

ブランチで分けておくと、ブランチ側で作業をしていて
やっぱりブランチする前の状態に戻したいって思ったときも簡単。

これだけ。
$ git checkout master
Switched to branch 'master'

このコマンド一発でブランチする前の状態に戻っています。

ちなみに、今どっちで作業しているか分からない時はこれ。
$ git branch
feature
* master


ブランチのマージ


ブランチして作業していて、デバッグも終わってこれを
masterにしたい。時は、masterにブランチをマージします。

$ git checkout master      >> masterへcheckout
$ git merge feature >> masterをfeatureへマージします
Updating 35706f6..63c63c5
Fast-forward

これでbranchで修正したものがmasterにマージされました。
そしたら、再びホスティングサーバ側にpush。
git push origin master


ブランチの削除


マージが出来たら、もうbranchが不要になるので、
ローカル、ホスティング両方のbranchを削除。
git branch -d feature      >> ローカルから削除
git push origin :feature >> リモートから削除


BitBucketからコード取得


リモートのmasterからローカルのmasterに持ってくる
$ git pull
($ git pull origin master)

リモートにあるbranchをローカルのbranchに持ってくる

今いる場所がmasterなら。
git branch new-branch origin/new-branch

今いる場所がbranchなら。
git pull origin new-branch


【補足】特定のディレクトリを無視する


「.gitignore」というファイルを使えば、
特定のディレクトリを無視させる事が出来ます。

例えば、cakephpのappディレクトリ配下をgitで管理
したいけど、tmpだけは無視したい!的な時に使えます。

こんな感じ。
$ pwd
$ /path_to_cakephp/app
$ cat .gitignore
tmp/

とりあえず、他にも色々ありますが基本的なところまで。

参考




gitで管理しないファイルを無視させる .gitignore|misc|@OMAKASEgitで管理しないファイルを無視させる .gitignore|misc|@OMAKASEhatena
 .gitignore とは名前からも分かるように git で無視するファイルを...


タグ : TECH Git Bitbucket 使い方 まとめ

Comment

コメントの投稿

管理者にだけ表示を許可する


トラックバック


この記事にトラックバックする



copyright © なんとなしの日記 all rights reserved.
内職☆在宅ワークの最強は?アフィリエイト!. 初心者だってカッコ良いホームページ作るぅ!
Powered by FC2ブログ
Related Posts Plugin for WordPress, Blogger...