Gitを使い始めたころ、ひとりで制作する時にはローカルでGitリポジトリを作成して履歴管理をしていました。
最近、タスク管理に issue を使いたくなって、ローカルでのみ使用していた Gitリポジトリをリモートの GitHubリポジトリに紐づける方法を調べたので、こちらに覚書として記載しておきます。
Soucetree からターミナルを開く
私は普段 Soucetree で Git の操作をしていますが、リポジトリの紐づけはそんなに複雑なコマンドを使うわけでもないので、コマンド操作で行います。
Soucetree で操作したいGitリポジトリの画面を開いて、画面右上の「ターミナル」と書かれたアイコンをクリックします。
すると、該当する Git リポジトリのディレクトリにいる状態でターミナルを開くことができます。
移行のコマンド操作はこの画面で行うといいです!
GitHubでリモートリポジトリを作成する
まず、紐づけるためのリモートリポジトリを作成します。
下記の内容で設定しましょう。
- 任意のリポジトリ名
- public / private どちらでも可
- readme ナシ、.gitignore ナシ、license ナシ
要は、空っぽの状態のリポジトリを作成します。
もしここで、readme等のファイルを作成していしまうと、ローカルの gitリポジトリと競合を起こしてややこしいことになってしまいます。
リモートリポジトリの確認
ローカルのGitリポジトリが、リモートリポジトリと紐づいているかどうかを、まず確認します。
もし、どこかと紐づいていた場合、後の工程が変わってきます。
ブランチを切っているかもしれませんね。
リモートリポジトリに紐づけたいブランチ……よく分からない場合は master ブランチにいる状態で操作しましょう。
git remote -v
このコマンドを打つと、リモートリポジトリの一覧が表示されます。
リモートリポジトリと紐づいていない場合は、何も表示されません。
リモートリポジトリと紐づいていない場合
先ほど作成したリモートリポジトリのクローンアドレスをコピーしてきます。
ターミナルを開いて、下記のコマンドを入力しましょう。
git remote add origin コピーしたアドレス
これで、ローカルの git リポジトリが、先ほど作成したリモートリポジトリと紐づきました。
リモートリポジトリがある場合はリモートリポジトリの変更を行う
意図しないリポジトリと既に紐づいてしまっている場合も、「リモートリポジトリと紐づいていない場合」と同様に、紐づけたいリモートリポジトリのクローンアドレスをコピーしておきます。
ターミナルを開いて、下記のコマンドを入力しましょう
git remote set-url origin コピーしたアドレス
これで、リモートリポジトリを変更することが可能です。
リモートリポジトリと紐づいたら、push!
意図したリモートリポジトリときちんと紐づいたかどうか確認するためには、最初に使用したコマンドを使えばOKです。
git remote -v
こちらですね!
きちんと紐づいたことが確認できたら、ローカルの git リポジトリから、リモートの GitHubリポジトリへ、ファイルをpushしていきましょう。
ブランチがある場合はブランチも push! です。
ローカルだけで行っていた履歴管理のヒストリーを失うことなくリモートの GitHubリポジトリへ送ることが出来ましたね!
issue 機能と組み合わせて、より便利に使って行けるはずです。