今回は、リモートリポジトリにあるプロジェクトをローカルリポジトリにコピーし、ファイルの追加・変更・削除を行った上で、リモートリポジトリに更新してみたので、その手順を共有する。さらに、リモートリポジトリの更新内容をローカルに反映する手順についても共有する。
前提条件
下記記事の手順を、リモートリポジトリ名=git-update-remoteとして実行済であること。
やってみたこと
git cloneコマンドの実行
「git clone (リポジトリ名)」というコマンドで、リモートリポジトリのファイルをローカルに取得することができる。その実行手順は、以下の通り。
1) リモートリポジトリを取得するフォルダに移動し右クリックし、「Git Bash Here」メニューを選択する。
2) Git Bash(gitを操作する際に使うターミナル)が起動するので、「git clone (リポジトリ名)」コマンドを入力し、リモートリポジトリのファイルをローカルに取得する。
3) 以下のようにコマンドを実行することで、リモートリポジトリのファイルをローカルに取得できたことが確認できる。
4) 別フォルダでも、同じ動作を実行する。これは、最後の「git pullコマンドの実行」を確認するために実行している。
ファイルの更新
ここでは、リモートリポジトリから取得したファイルに対し、削除・更新・追加を実施する。
1) 以下のようにコマンドを実行し、更新前のファイルの状態を確認する。
2) 「DemoUtilNg.java」というファイルを削除する。
3) 「DemoController.java」というファイルを編集するため、サクラエディタで開く。
5) 以下のようにコマンドを実行することで、ファイルが更新されたことを確認する。
更新後ファイルをリモートブランチへ公開
更新後ファイルをリモートブランチへ公開する手順は、前回と同様に、git add⇒git commit⇒git pushの順に行う。git addコマンドによって、削除・変更・追加のあった全ファイルを、コミット対象ファイルとしてインデックスすることができる。
1) 「git add .」コマンドを入力し、作業ディレクトリ内の全ファイルを、コミット対象ファイルとしてインデックスする。
2) git addコマンド実行後の結果を確認するため、Gitの作業ファイルを配置するフォルダに移動し右クリックし、「Git GUI Here」メニューを選択する。
3) Git Gui(gitを操作する際に使うGUIツール)が起動し、「git add .」で削除・更新・追加した全ファイルが「Staged Changes(Will Commit)」に表示されることが確認できる。
4) 「git commit -m “(commit時のコメント)”」を実行し、作業ディレクトリ(git_github_push)内の全ファイルを、ローカルリポジトリにコミットする。
5) Git Guiを開くと、「Staged Changes(Will Commit)」に表示されていたファイルが表示されないことが確認できる。
6) Git Guiで「Repository」メニューから「Visualize master’s History」を選択すると、以下のように、コミット履歴が確認できる。
7) 「git remote -v」と実行し、リモートリポジトリのURLとそのショートカット名(origin)を確認する。
8) 「git push (リモート名) (ブランチ名)」を実行し、ローカルリポジトリの内容をリモートリポジトリに反映する。
9) GitHub上のリモートリポジトリを確認すると、以下のように、ローカルリポジトリの内容がリモートリポジトリに反映されていることが確認できる。
git pullコマンドの実行
「git pull (リモート名) (ブランチ名)」というコマンドで、リモートリポジトリの更新内容をローカルに反映することができる。その実行手順は、以下の通り。このコマンドは、ファイルの更新及びリモートブランチへの公開を行っていないフォルダ上で実施する。
1) リモートリポジトリの内容を更新するフォルダに移動し右クリックし、「Git Bash Here」メニューを選択する。
2) 「git pull (リモート名) (ブランチ名)」を実行し、リモートリポジトリの更新内容をローカルに反映する。
3) 以下のようなコマンドを実行することで、リモートリポジトリの更新内容をローカルに反映できたことが確認できる。
要点まとめ
- 「git clone (リポジトリ名)」というコマンドで、リモートリポジトリのファイルをローカルに取得することができる。
- git addコマンドで、削除・変更・追加のあった全ファイルを、コミット対象ファイルとしてインデックスすることができる。
- 「git pull (リモート名) (ブランチ名)」というコマンドで、リモートリポジトリの更新内容をローカルに反映することができる。