Gitについて学習してする連載の9回目です。前回の記事はこちらになります。 hirocom777.hatenadiary.org
リポジトリ間のやりとり
前回はリポジトリについて説明しました。ベアリポジトリも作成しました。
今回は、前回作成したベアリポジトリを使ってリポジトリ間のやりとりをしてみようと思います。
前回までの状況
前回までの状況の確認と、準備を行いたいと思います。前回は任意のフォルダーを作成してその中にLocalという名前でフォルダーを作成。Localフォルダー内にリポジトリを作成。また、Remote.gitという名前でフォルダーを作成。Git Bashでベアリポジトリに設定しました。ここまでが前回の状況です。詳しくは前回の記事を参照してください。
リモートリポジトリのクローンをつくる
それでは作成したベアリポジトリを、リモートリポジトリに見立てて作業をしていきたいと思います。Remote.gitを作成した任意のフォルダーを選択して右クリック。メニューの Git Bash Here でGit Bashを開いて以下を入力、実行してください。
git clone Remote.gitのフルパス
git cloneでリモートリポジトリの内容をローカルリポジトリにコピーできます。
画面は以下の様になりました。(僕の場合の入力例です)
空のリポジトリのクローンを作成した・・・とでていますね。任意のフォルダーの中を見てみると、新しく Remote という名前のフォルダーができています。Remoteフォルダーの中には .git があります。リポジトリですね。この中のファイル構成を見てみると、前回確認した構成と同じになっています。ファイルconfigの内容を確認してみます。
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true [remote "origin"] url = C:\\Git\\Remote.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
上半分は、前回確認したLoclalフォルダーの内容とおなじですが、新しく追加された項目があります。ベアリポジトリであるRemote.gitをリモートリポジトリとして設定した様ですね。
ローカルリポジトリにデータを追加する
それでは、新しく作ったRemoteフォルダーの内容を変更してローカルリポジトリにコミットしたうえで、リモートリポジトリに保存してみましょう。(ローカルリポジトリなのにRemoteフォルダーとややこしくてすいません。)
Remoteフォルダー内にはテキストファイル'File_1.txt'を作成します。ファイルの中身は以下の様にしました。
Hello!!
つづいて、Remoteフォルダーを選択して右クリック。 Git Bash Here でGit Bashを開いて変更内容をステージングして、コミットしてみましょう。以下の様に入力します。
git add File_1.txt git commit
入力が完了すると、テキストエディターが立ち上がるので先頭に以下の様に記入しました。
Gitの使い方を学習します_06 PUSHの練習です
保存してテキストエディターを閉じると、ローカルリポジトリの変更ができました。画面は以下の様になっています。
リモートリポジトリにPUSHする
この内容をリモートリポジトリに保存してみましょう。Git Bashで以下の様に入力します。
git push origin master
git pushでローカルポジトリのブランチ(今回はmaster)の内容をリモートリポジトリにコピーできます。上の例のoriginは、デフォルトのリポジトリのことです。今回の場合git cloneでコピーしてきたローカルリポジトリの事になります。
画面は以下の様になりました。
さて、リモートリポジトリにはちゃんと保存されているのでしょうか?確認してみたいと思います。現在の場所からリモートリポジトリの場所に移ってみましょう。
まず、現在の場所から1つ上(任意のフォルダー)に移動します。以下を入力してください。
cd ..
cd は、作業するフォルダー(ディレクトリ)を移動するコマンドです。 .. は1つ上のフォルダーを意味します。 さらにその中にあるRemote.git(リモートリポジトリ)に移動します。
cd Remote.git
この状態で、記録されているかどうか確認します。確認はgit logでしたね!!画面は以下の様になりました。
ちゃんと記録されいるみたいです。
次回は作業の共有
これでローカルリポジトリに作業した内容を保存できました。次回はこの内容を使って複数のリポジトリから作業内容の共有をしてみたいと思います。お楽しみに!!