概要
SourceTree を利用して、git で作業ディレクトリ(ローカルディレクトリ/リモートディレクトリ)を管理する方法についてまとめる。
前提知識
環境
Sourcetree for Mac 2.7.6
(version 3 以降はアカウントを複数作成する必要があるようなので 2 系の最新版を利用)
ローカルディレクトリの管理
git init //フォルダをバージョン管理の対象にする
1.[新規] → [ローカルリポジトリを作成] をクリック
2. [ローカルリポジトリを作成] ウィンドウでバージョン管理の対象にしたいフォルダを選択し、[作成] をクリック
このフォルダに text.md ファイルを格納しておく
git add //記録対象の指定
フォルダーの中にファイルを格納すると、自動的に Sourtree でも検知され、[作業ツリーのファイル] に表示される
ファイル名の先頭にあるチェックをオンにすると、ファイルが [indexにステージしたファイル] に追加される
git commit // 変更点の記録
画面下部にコミットメッセージを入力するところが出てくるので、コミットメッセージ(ここでは「first commit」)を記載し、[コミット] をクリック
ファイルの中身を修正すると、以下のように表示されるので、コミットしたいファイルを[作業ツリーのファイル] から選択し、コミットメッセージを入力する、という手順を繰り返す
リモートリポジトリへ変更を反映
github でリポジトリを作成
[Your profile] → [Repositories] → [New] をクリック
[Create a new repository] ページが表示されるので、[Repository name] を入力する。ここでは、ローカルディレクトリとあわせて「helloSourcetree」とし、[Create Repository] をクリックする
ここでは、画面に表示された [HTTPS] をコピーする
Sourcetree でローカルディレクトリを github のリモートディレクトリに紐づける
画面左上の [設定] をクリックし、[リモート] → [追加]をクリックし、github でコピーした URL(ここでは https のリンク) を貼り付けて設定する。
リポジトリごとにこの設定が必要になるので、[リモートの名前] にはわかりやすいようにディレクトリと同様の名前を入力しておく。
commit した変更を github に反映
[プッシュ] をクリックすると、接続先を指定するウィンドウがでてくる
[プッシュ先のリポジトリ] で上記で作成した 「helloSourcetree」を選択し、[プッシュするブランチ]でプッシュしたいブランチをオンにして、[OK] をクリック
ID と PW を入力すると、githubに公開される
SSH を利用すると、プッシュする際に毎回 ID と PW をいれなくてOKなので便利
github でファイルの中身を変更した場合
github 上で Read me ファイルの作成やファイルの中身を変更した場合や他の人が編集した場合も Sourcetree 上に反映される。 pull コマンドを利用して、ローカルリポジトリを更新する。
[プル] のところに❶と表示されていて、一件更新があることが確認できる。 [プル] をクリック
デフォルトのまま OK をクリックすると反映される
注意点
[プル] できるとき(ローカルが最新状態でないとき)に、プルせずにプッシュしようとすると以下のエラーが発生する。
このエラーが発生した場合はプルしてからプッシュすること。
github にすでにあるリポジトリをローカルで管理
github にすでにあるリポジトリ(リモートリポジトリ)をローカルで管理するためにはクローンする必要がある
[新規] → [URLからクローン] をクリック
ここでは、GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~を参照し、SSH の設定を行っている
[ソース URL] には github の [Code] → [Clone with SSH] をコピーして貼り付ける
HTTPS を利用したい場合は、[Use HTTPS] をクリック
Sourcetree では利用しないコマンド
git status //ステータスの表示 にあたる画面
commit していないファイルの一覧を確認することができる。
git log // ログの表示 にあたる画面
いつだれが更新したかを確認することができる。