Warning: Invalid argument supplied for foreach() in /home/minamachijp/minamachi.jp/public_html/mnc/wp-content/themes/mnc/functions/menu.php on line 48

リモートリポジトリとの連携

リモートリポジトリから取得するには
git clone
ローカルのmasterブランチがリモートのmasterブランチを追跡可能に設定
cloneするとそのリモートリポジトリのshotnameはoriginとなります

登録されているリモートリポジトリを表示するには以下のコマンドを入力します
git remote -v

リモートリポジトリの手動追加することも可能です
git remote add

リモートリポジトリから最新版のファイルを落としてくる
git pull

ファイルを落とさずに更新状況や最新branchの情報を取得する
git fetch
git fetch

リモートリポジトリへのアップロード
git push

リモートは複数登録できるので

以下のようなログ表示になる場合もあります


上図のように様々なリポジトリの情報が表示され、格納されているバージョンが異なっていることがわかるかと思います。

リモートブランチをアップロードする

git push ブランチをアップすることができます
実際にどんなブランチが存在するのかについては
git remote show origin
で確認することができます

シナリオ1 リモートリポジトリから取得して作業する

1.git cloneで最新版の取得を行う

2.git branchで自分のbranchを作成して更新作業

3.git add でファイルをコミット対象に追加する

4.git commitでコメントつきでコミットを行う

5.git pushでリモートリポジトリに送る

 

リモートのブランチの確認と取得

ときにはリモートのブランチを取得したい場合もあるでしょう
リモートリポジトリ内のブランチを含めて確認するには以下のコマンドを入力します
git branch -a
取得の際はブランチを作成してリモートブランチをチェックアウトします
git checkout -b <ブランチ名> <リモートブランチ名>
-bはブランチを作成してチェックアウトするためのオプションです

rebaseについて

先に誰かがmasterを更新してしまった場合、当然自分がブランチで作業していたもととなっていたmasterとズレが生じてしまいます
例えばexperimentというブランチを作成して作業していた場合、どうすればよいでしょうか?
mergeする
experimentをmasterにmergeすることで解決できます
ただ、experimentブランチはまだ作業中です。mergeするのは危険なことがあります。これを解決するためにgitにはrebaseという考え方があります。

つまり、誰かが更新したmasterへの変更内容を自分のbranchにマージしてしまい、継続して作業できるようにするための機能です。
git checkout experiment
git rebase master
この作業で自分が変更したファイルとかち合ってしまう事はよくあります。
手動でマージを行って、git addしたらgit rebase –continueを実行します。

前のバージョンに戻したい場合

git checkoutを使ってその当時のバージョンに戻すことができます
git checkout <コミット番号>
git checkoutはブランチの移動にも使いますが、前のバージョンに戻す場合にも利用されます
それを新規のブランチとして起こす場合はgit checkout –b <ブランチ名>を入力します

 

TOP
TOP