使い方・用語の説明
はじめに
Gitに関してはネット上にたくさん情報があるので、僕からは詳しい用語の説明はしません。代わりにわかりやすいサイトを紹介しますので、わからないことがあれば参考にしてください。
Gitに関するリンク集
ここでは最低限知っておくべき用語とSourceTreeの基本的な使い方だけを説明します。
用語
・リポジトリ → フォルダのこと。ここではGitで管理しているフォルダを指す。
・ローカルリポジトリ → 自分のPC上にあるリポジトリのこと。pushなどをしない限り、他の人に影響はない。
・リモートリポジトリ → Bitbucket上にある共有リポジトリのこと。ここにpushしたりpullしたりする。
・ブランチ(branch)とマージ(marge)
説明が難しいのでこちらを参照してください。
ブランチは機能別などで分けるべきなのですが、 今回は一人ひとりで分けることにします。
マージはブランチを1つに統合してくれます。(変更を1つにまとめてくれるということ)
SouceTreeの説明
ここからは画面の説明をします。
操作ボタン
・新規/クローンを作成する
新規リポジトリを作成します。
クローン(clone)はリポジトリ(この場合ネット上のリポジトリなど)を任意の場所(自分のPCなど)にコピーすることです。
既にあるリポジトリの取り込みもこのボタンから行います。
・コミット(commit)
(名詞) 保存された状態に関する情報をまとめた物のこと
(動詞) 現在の状態を保存し、新しいコミット(名詞)を生成すること
新しいコミットを生成するためのコメント欄とコミットボタンを表示します。
作業が終わったらコミットを行う癖をつけましょう。
・チェックアウト(checkout)
昔のコミットに移動したり、現在のブランチを変更したりできます。
新しいブランチを作る時もこのボタンを使用します。
・リセット(reset)
今回の変更を破棄して1つ前のコミットの状態に戻します。
ファイル単位でもリセットできます。
・一時退避(スタッシュ/stash)
現在の状態を一時的に保存して他のブランチで作業できるようにします。
ややこしくなるので、今回は使わないようにしてください。
・追加
選択しているファイルを追加を行います。
・削除
Gitに登録されていないファイルを削除します。
不可逆操作になるので、使用しないでください。
・追加/削除
リモートから消去されたファイルを作業コピーからすべて削除し、新しいファイルを追加します。
こちらも不可逆操作になるので、使用しないでください。
・フェッチ(fetch)
リモートリポジトリの最新の履歴の取得だけを行います。
プル(下記参照)と違い、マージを行わないので、リモートリポジトリの変更を確認したいときに使用してください。
・プル(pull)
フェッチとマージを行います。
要するにリモートリポジトリから情報を取得して、自分のものとの統合を行います。
・プッシュ(push)
ローカルリポジトリの変更をリモートリポジトリに反映させます。
ある程度コミットが溜まるor一日の終わりにはプッシュを行いましょう。
・ブランチ(branch)
ブランチの作成・削除を行います。
同様にブランチを作成するチェックアウトとの違いは、作成した後にブランチに移動するかしないかです。
・マージ(marge)
マージ(ファイルの統合)を行います。
マージには複数のブランチが必要になります。(当たり前ですが)
・タグ(tag)
コミットに名前付け(タグ)が出来ます。[例: ver.1.0.2]
タグ名を指定してチェックアウトなどを行えるようになるので便利です。
使っても構わないのですが、説明はしません。
・Git Flow
ブランチを効率よく使用できます。
が、ちょっと複雑なので今回は使用しません。が、使ってみたい方はどうぞ。
・ターミナル(tarminal)
GitをCUIで使用できます。
CUIを使ってみたい方はどうぞ。
・設定
リポジトリ設定ができます。
コミット一覧
コミットの一覧が表示されます。各コミットを右クリックするとチェックアウトやマージなども出来るようになっているので活用してください。
コミットの詳細
コミット一覧でコミットを選択すると、こちらが切り替わります。コミットメッセージや変更したファイルなどを見ることが出来ます。
マージ時の衝突(コンフリクト)の解決法
Gitに関するリンク集
・サルでもわかるGit入門
初心者はまずこれ。絵入りでとてもわかりやすいです。たいだいこのサイトになんでものってます。
・こわくないGit
Gitが怖くなったらこれ。ブランチとマージの説明がとてもわかりやすいです。
・Git初心者が見るべきサイトまとめ
もうちょっと詳しくなりたくなったら、このまとめを参考にしてください。
Q & A
Q & A
Q1. eclipseにプロジェクトをインポートする時にウインドウが出てこない
A. eclipseの日本語化による不具合のようです。香川先生の授業ページにやり方が乗っているので、eclipseの日本語化を取り消してください。
Q2. 間違えてmasterにコミットしてしまった。
A. コミットを取り消しましょう。SourceTreeによるGUI操作ではコミットの削除ができないようなので、コマンドラインによるCUI操作でやります。
0. (作業して変更したものをどこか違う場所に保存しておきましょう。コミットを取り消すことで作業内容も一緒に削除されてしまいます。) 1. masterのブランチにチェックアウトしている状態で、SourceTreeのターミナルを起動します。 2. [ git log ] と入力します。一番上に削除したいコミットがあることを確認して下さい。(なければ違うブランチにいる可能性があります。一旦ターミナルを閉じて、SourceTreeでmasterにチェックアウトしましょう。) 3. [ git reset --hard HEAD^ ] と入力して削除を行います。 4. ターミナルを閉じ、SourceTreeでコミットが削除されていることを確認して下さい。 5. 新たにブランチを作成、チェックアウトし、[0]で保存した作業内容を戻してコミットしましょう。
Q3. プル、プッシュが出来ない
A. 可能性はいくつかありますが、今回の場合だと[masterで作業していること]が原因がほとんどだと思います。masterにコミットしている場合は[Q2]を参照してください。
masterで作業しており、まだコミットしない場合は、新たにブランチを作成し、チェックアウトすればそのブランチでの作業になるので、上手くいくようになるはずです。
Q4. SourceTreeがうまく動作しない
A. 動作環境に問題がある可能性があります。とりあえずアンインストール→最新版をインストールしましょう。