経緯・概要
職場のとある案件で新規プロジェクトを作成する機会があった。
プロジェクトは、新規gitリポジトリで管理することとなっており、
リポジトリ作成は運用上の都合により別チームの方が後から作成することとなっていたので、git管理外でローカルでプロジェクトを作成し開発を進めていた。
いざ、作成された空のgitリポジトリに、開発したプロジェクトを入れようと思った時にいろいろ手間取ったので記録を残しておく。
環境
・SpringToolSuite [Version: 3.9.2.RELEASE]
・SourceTree [Version: 2.4.8.0]
・GitHub
ゴール
以下の2通りを試しましたので、それぞれの手順を記載します。
①リポジトリの配下にプロジェクト
プロジェクト「test-project1」とプロジェクト「test-project2」がリポジトリ配下に存在する
②リポジトリ=プロジェクト
リポジトリがプロジェクトのルートディレクトリになっている感じです。
共通手順
ミスったときのために対象プロジェクトをzip等でコピって退避しておく
0.空のリポジトリ(READMEあるけど)がある【GitHub】
手順(①リポジトリの配下にプロジェクト)
1.リポジトリをクローンしてくる【SourceTree】
※必要に応じてブランチを切り替えること
2.「Add an existing local Git repository」でリポジトリを追加【STS】
3.追加対象のプロジェクトを 右クリック>Team>Share Project【STS】
4.プロジェクトのコミットとプッシュ【SourceTree】
手順3でリポジトリ配下に移動されたので作業コピーに表示されています。
ステージングしてコミット、プッシュしましょう。
★デフォルト?だと「.gitignore」の除外設定に「.project」が入っているので、「.project」がコミット対象になりません。必要に応じて除外設定を修正してください。※これがないと追加したプロジェクトがプロジェクトとして扱われません。
5.おわり
githubでみるとプロジェクトが配下に入ってることが確認できます。
複数のプロジェクトを1つのリポジトリにぶら下げる時は同様の手順で追加すればよさそうです。
手順(②リポジトリ=プロジェクト)
1.対象プロジェクトをgit管理(ローカルリポジトリ)にします。【SourceTree】
SourceTreeからターミナルを起動して、
対象プロジェクトのルートディレクトリに移動し「git init」と叩きます。
2.SourceTreeに、git管理(ローカルリポジトリ)にしたプロジェクトを追加します。
3.ローカルリポジトリにプロジェクトをコミットします。
プッシュはしません。(この時点では紐付いているリモートがないです)
※「.gitignore」の除外設定を必要に応じて修正してください。
4.ローカルリポジトリにしたプロジェクトを、リモートリポジトリに紐付けます。
設定を押下
リモートタブで「追加」を押下
リモートリポジトリの情報を入れます。
追加されました。
5.紐付けたリモートリポジトリにプッシュします。
プッシュ先を紐付けたリモートリポジトリにして、
リモートブランチを任意のリモートブランチにします。
6.おわり
githubでみるとリポジトリがプロジェクトの内容になっていることがわかります。
※gitignoreいじり忘れました
あとがき
7年くらいSEやっててこんなことで躓くとは恥ずかしい・・・。
でも、こういうことした経験が今までなかったのも事実。
いままでは既存リポジトリやプロジェクトが存在するところから、それに対して改修するってパターンが多かったので。。
よい経験となった。