理屈はさておき、手順だけ書いたメモ。
自分が分れば良いので適当に書いてあります。
環境:Windowsの方から来ています。
- Visual Studio (2015)
- Source Tree
- GitHub
どうしたいの?
こうしたい。
直接VSからGitHubに繋げてあれこれすれば良いのですが、ちょっと間に挟んで中間でバックアップ的な事が出来たりするといいなぁというやつです。
※Windowsなら robocopy 使った方が早い。というのも一つの解決法です。
- GitHubに適宜リポジトリを作る
- ローカル部(中間)にクローンする
- 1つ以上コミットしておく(master作りましょう)
- Visual Studio でソリューション・プロジェクトを作成する(Gitの設定は不要)
- Visual Studio を終了させる
- 適当なテンポラリ用フォルダを一つ用意する
- プロジェクト内のファイル一式をテンポラリ用フォルダに移動する
- 空になっているプロジェクトのフォルダへ向けて Source Tree で中間リポジトリをクローンする
- Source Tree の「Git Flow」を利用してdevelopブランチを作成する
- developブランチに切り替わるのでリモート(中間リポジトリ)のHEADをチェックアウトする
- テンポラリ用フォルダ内のファイル一式をプロジェクトフォルダに戻す
- 好きなように .gitignore を設定する(GitHubのリポジトリ作成テンプレートが便利)
- 思うが侭に開発する
- 気が向いたらdevelopブランチにコミット
- プッシュして中間リポジトリへ
- 中間リポジトリでmasterにマージできるので、好きなだけマージする
- マージされたものは、アップストリーム(GitHub)へ
良かったですね。
全部 master ブランチでやろうとすると「ダメです」って言われます。
※エラー内容を検索する事で、色々理由が出てきます。そちらの方が詳しい。
その他
Q. リポジトリ作ってから Visual Studio のプロジェクト作れば良いのでは?
A. フォルダが存在するとダメですと言われます。
Q.Visual Studio のGit連携使えば良いのでは?
A.どこかにちゃんとしたコマンド・GUIが有るのかもしれませんが、細かい事をする際には Source Tree を使った方が早いやつです。
また、うっかり手を滑らせてVSからリポジトリを作ると、ソリューション側にリポジトリが作成されるのですよ。プロジェクト内にリポジトリがあると、それが優先されるようです。
VS2017に期待。
Q.コマンドでやれば?
A.使えるものは使いましょうね。と思ったやつです。
robocopy でミラーリングするのが一番早いやつです。リビルド後のコマンドでバッチファイルでも走らせておきましょう。
バッチファイル内の最後にechoで何か書いておけば、「エラー 1 」は見なくて済みますよ。(robocopy でコピーしたものがある場合、エラー1が出るやつです。)
日報みたいなエントリー。