(作成:2017/09)
C#で個人的にコード開発を始めたくなって、自宅環境に色々導入してみた。
そのうちGitのリモートリポジトリを何処かに置きたいと思ったけれど、GitHubは無償の場合全公開が全体のようで、趣味レヴェルのうんコード公開するのも恥ずかしい。んで探してみたらMSのAzuleサービスがあったので手を出してみた。
サービスURL
Microsoftアカウントがあればサービスを開始できる。
初期設定
My profile
画面が英語表記だったりタイムスタンプが変だったりするので好みに合わせておく。
。。。といっても2017/09現在、サービスが日本語化されるわけではない。
Edit profile
Preferences
Locale
Preferred Language
: 日本語(日本)Date Pattern
: 1970-01-01 (yyyy-MM-dd)Time Zone
: (UTC+9:00) Osaka, Sapporo, Tokyo
Notification settings
デフォルトで色々通知項目があるけれど、個人利用だしメール貰ってもウザいので全部off。
必要になったらまた考えよう。
Security
Personal access tokens
ブラウザ外のアプリ(VisualStudioとかGitとか)へスムーズにアクセスするためのトークンについて、権限とか有効期限とか設定できる。今はいいや。Alternate authentication credentials
今はPersonal access tokens使えって書いてあるので無視。OAuth authorizations
Team Foundation Server使うためのサードパーティアプリ一覧。まあ使わないだろう。SSH public keys
Gitリポジトリへのアクセスで使うSSH公開鍵を登録する。鍵作成済なら、公開鍵の内容をコピペしておく。
Usage
多分利用状況(閲覧したデータが何だとか、アクセスしたエージェントが何だとか)が見れるのだと思う。特に設定なし。
プロジェクト作成
Sandbox
は所謂セキュリティ的なアレを模しているけど、デフォルトで1コはプロジェクトが無いと駄目みたいなので取り敢えず。
Plactice
はコーディング練習用。C#で色々やってみたいので、リポジトリ内は基盤毎とかそんな感じに分けたい。
なおTeamsはProject毎勝手に作られる模様。チームにはMicrosoftアカウントが入る。でも個人利用なので全部ウチ1人やな。
Project操作
操作に入る前に、VSTSはアクティブなコンテンツによってメニューが変化するみたいなので注意。
それでもProjectとTeamは一緒かな?
Projectがアクティブ | Teamがアクティブ | Accountがアクティブ |
---|---|---|
以下、それぞれの状態を (Project)(Team)(Account) と表す。
リネーム
(Project)
- Setting
(歯車)
- Account settings
(Account)
- (Project name)
: 右クリック Rename
「ビルド中だと失敗するぞ」「全員IDE環境再起動しろよ」「Gitリモート名は新しくしとけ」「バージョン管理(Gitとか)のワークスペース更新しとけ」とか言われる。
個人用途なので無視してGo。でも本当にプロジェクトチーム組んでたりする場合は注意。
追加
(Project)
- Setting
(歯車)
- Account settings
(Account)
- New team project...
-
Code
-
or initialize with a README or gitignore
-
Add a README
: チェック-
Initialize
削除
ついでなので、Project や branch の削除方法も。
Project の削除
(Project)
- Setting
(歯車)
- Account settings
(Account)
- (Project name)
: 右クリック Delete
branch の削除
Team操作
今回は個人管理用なのであまり操作しないけど、アクセス権限とかあるので気になる人は変更すると良いかも。
取り敢えず Description 変える操作まで。
変更したいProjectをアクティブに(Sandbox Homeを開く、など)してから以下の操作で。
(Project)
- Setting
(歯車)
- Default team settings
(Team)
- Team Profile
- Description
ソリューション管理
環境を汚さない為にもブランチ切りつつ作業するとして、ここでは橙色周りの処理を簡単にまとめる。
参考:
- Github-flowを分かりやすく図解してみた
- Visual Studio ローカルでバージョン管理(git) - Qiita
clone
チームエクスプローラ
ソリューション
リポジトリを複製
リポジトリの複製
-複製
※複製されたGitリポジトリのパス情報に注意。
余談だけれどSVNでいうcheckoutはGitだとcloneなのね。git checkoutだと新規にbranchを作ってしまう。下手にSubversion経験あると混乱するネ。
またここで、VS17上でのGit設定も修正しておく。
チームエクスプローラ
設定
-グローバル設定
基底のリポジトリの場所
: (お好みのフォルダ)更新
これで今後VSTSからリポジトリを展開する時に、デフォルトで指定したフォルダ配下に展開してくれるようになる。
branch, commitなど
branch
testブランチを作成して、そこで色々弄ってみることにする。
チームエクスプローラ
プロジェクト
ブランチ
-新しいブランチ
ブランチ名を入力してください <必須>
: testブランチの作成
ブランチの切替(checkout)までしてくれているので、このままコーディング開始できる。
まずはともあれソリューション作成。
チームエクスプローラ
新規作成...
Visual C#
-コンソールアプリ (.NET Framework)
名前
: MyConsoleOK
commit
ブランチ: test
なのを確認。
チームエクスプローラ
プロジェクト
変更
-すべてをコミット
ここまでで、TortoiseGitからログを見てみる。作業通り「1. masterへの初回commit」「2. testブランチへcommit」になってる。
push
VSTSへpushしてみる。プッシュ
を押すだけで何も問われずpushが開始するので、ちょっとビクってなる。
チームエクスプローラ
プロジェクト
同期
-プッシュ
現在のブランチは~
の部分は、今回pushするブランチがリモート側に無いのでこう表示される。リモートブランチがあればcommitログが表示される。
今度はVSTSを見てみる。ちゃんと入ってるネ。
pull request
リモートリポジトリで team ブランチ→ master ブランチに mergeしてもらうためにリクエストを発行する。
チームエクスプローラ
プル要求
新しいプル要求
ブラウザが開き、VSTSへ移動する。
masterへmerge
(Team)
-
Code
-
Pull Requests
Delete test after merging
は一旦ゴミ箱に入れられるだけで、本当に消すにはCode
-Branches
にて削除をする必要がある。
Code
-Commits
を見ると、 merge まで実施されている。