■チームに参加する
1. 管理者にアカウントのユーザー名かメールアドレスを伝える
- このときユーザー名とは、ログイン後の画面にて「プロファイルの表示」をした際に左上に表示される名前のうち、カッコ内に記載された名前であることに注意!
- 管理者がメンバーを追加する等のやり方は前半を参照ください
■SourceTreeにクローンする
1. (ローカル)リポジトリを用意(自身のPC内に空フォルダを作る)2. WEBのBitBucketにログインし、チームの共有(リモート)リポジトリ画面を開く
3. リポジトリ画面のアクションにある「クローン」から「SouceTreeにクローン」
- 「概要」にあるクローンアイコンを押しても同様のポップアップが出る
- 「概要」にあるURLをコピーしSourceTree上でクローンしても良い
4. 先ほど用意した空フォルダを指定して「クローン」
Source Treeのローカルに追加される
*クローン時に何故かログインを求められる現象を確認。正しいユーザー名とパスワードを入力しても弾かれる。WEBでログアウト→ログインし直して上手くいった。同期がとれていないことがあるみたいなので、似たような現象に遭遇したら再ログインや再起動を試してみること。
■リモートリポジトリに変更を加える(ブランチを追加)
1. WEBのリモートリポジトリ画面にある「ブランチの作成」
- ブランチ名をつけてCreate
- /でフォルダのように階層構造を作れる
- 命名規則はこちら
- 管理者の承認が無くても作れる模様
2. これにより、WEBの「ブランチ」画面のフィルターを「マージ済み」に変更すると、先ほどのブランチが追加されていることが確認できる
また、SourceTreeのリモートにもブランチが追加されていることが確認できる
3. SourceTreeのリモートから、ローカルに作成したいブランチをダブルクリック(今回は先ほど追加したブランチを選択)
- ウィンドウがポップアップするので「OK」を選択
- 「新規ブランチをチェックアウト」
- 「ローカルブランチにリモートブランチを追従させる」
- 太字が現在のローカルブランチ
5. 変更が生じると、SourceTreeにUncommitted changesが発生するので、これを選択
6. Uncommitted changesを選択すると、変更のあったファイルが「作業ツリーのファイル」に表示されるので、コミットしたいファイルにチェックを入れる
7. チェックしたファイルが「Indexにステージしたファイル」に追加されるので、この状態でコミット→プッシュする(今回は「コミットを直ちにプッシュする」にチェックを入れた)
- これにより、WEBのコミット、ブランチにも反映される
8. WEBのリポジトリ画面から「プルリクエストを作成」
- リクエスト元はコミットしたブランチを選択(コミット内容は下部に表示される)
- リクエスト先は合流させたいブランチ(今回はmasterを選択)
- メッセージを添えて「プルリクエストを作成」
9. 変更をマージする場合は、「プルリクエスト」から「マージ」を選択
管理者権限のないメンバーでもmasterにマージできてしまう(詳細不明)masterへのプッシュを管理者に限定することで解決した(前半の「ブランチの管理」参照)
■ブランチの削除
1. リポジトリ画面のNAVIGATIONにある「ブランチ」から削除したいブランチを開き、右上の「…」を押して「ブランチの削除」を選択。
*ブランチの一覧にある「…」からでは何故か削除できないので注意
2. SourceTree側のブランチを削除する。まずはフェッチアイコンを押し、「リモートで削除された追跡ブランチは取り除く」にチェックを入れてOKを押す。これによりSourceTreeのリモートからWEB上で削除されたブランチが消える。
- 削除するローカルブランチが選択されている(太文字の)場合はメニューに削除が出てこないので注意
- 削除するブランチしかローカルにない場合は、リモートからmasterブランチなどを持ってきて、そちらに切り替えておく必要がある
↓
■リモートブランチで起きた変更を自分のローカルブランチに反映させる(参考)
*ここでは、masterの変更をStageというローカルブランチに取り込むという例で説明する
1. masterのローカルブランチを「フェッチ→プル」で最新の状態にする
2. Stageをダブルクリックし、カレントブランチにする
3. masterを右クリックし、「masterを〜/Stageへマージ」を選択
4. 実行するか確認されるので、OKを選択
5. これにより、ローカルブランチ(Stage)での作業を維持したまま他のブランチ(master)の変更を取り込むことができる。ただし、競合する場合は修正する必要がある。
■指定フォルダをコミット対象外にする
1. SourceTreeの「リポジトリ設定-> 高度な設定のリポジトリ限定無視リスト」にて.gitignoreファイル(テキスト)を作成。(参考:.gitignoreの仕様詳解)
2. それをコミット&プッシュ(&マージ)すれば全体で共有する無視設定になる
3. ただし、既にGitツリーに登録されているファイルはgitignoreに記載しても無視されない。
- これらのファイルは作業ツリーのウィンドウにて、右クリックで「追跡を停止する」必要がある。これにより、ローカルにファイルは残るがScourceTreeの追跡対象からは除外される(「git rm --cached」相当)
- フォルダを選んで「追跡を停止する」ことはできない。Shiftキーなどの範囲選択を駆使してファイル単位で追跡を停止する必要がある。フォルダ内のファイルを全て追跡停止にすると、フォルダも作業ツリーに現れなくなる。
- 追跡を停止したファイルはindexにステージしたファイルに移される。これをコミット&プッシュ(&マージ)することで、追跡停止をリポジトリに反映することができる。
〜参考先〜
- SourceTreeでGitを始めよう(参考先「除外リスト(gitignore)の設定」)
- SourceTreeで個人的に.gitignoreしたい
- SourceTreeで指定フォルダをコミット対象外にする.gitignore設定
- How to ignore all files in a folder with Bitbucket in SourceTree?
〜登録済みのため無視できないファイルについての参考〜
0 件のコメント:
コメントを投稿