skillup

技術ブログ

Git

Gitでのbranch 新ブランチの作成&リモート反映&別環境反映

投稿日:

gitを使っているとわけのわからないことは多いのですが(爆)、その中の1つがbranch(ブランチ)でしょう。

これも説明をきいてもわからないのですが、自分でそのケースを学習してみればすぐにわかると思います。

branchとは?

日本語訳すると枝ですが、どのようなときに使われるかというと例えば開発環境で本番と同一環境のものを保持しつつ、新規機能を取り入れたものを作りたいとします。

通常ですとこれらを2つのディレクトリに置いたりするのですが、いずれは統合したりする必要がありますし、ディレクトリ分離方式だと差分がいたるところで発生します。

そこで同一のディレクトリで枝を作り、両方の状態を記録、管理しておこう!というのがbranchの発想かと思います。(多分)

branchの作り方

通常だとディフォルトでmasterというbranchが作られます。

新しいブランチを作りたい場合、例えばrenewalというブランチ名を作成したいときは,git branch renewalとうてば無事branchが作成されます。ローカルのみでOKで、リモートはpushの際に自動的に作られるようです。

branchの一覧

branchを確認する場合はgit branch -a と入力するとブランチが出ます。ユーザーが作成したブランチと同様、追跡ブランチ(remoteとローカルの窓口みたいなもの?)も赤字で見えているかと思います。

私のリポジトリだと下記のような状態です。

 branchの切り替え

branchの切り替えはgit checkout ブランチ名です。

切り替えたあと、git branch -aを入力すると*のマークが指定したブランチに変わっているのがわかるかと思います。

リモートへの反映

ちなみにリモートでこのブランチを反映させるときはリモートでブランチを作り、

git push origin renewal:renealとうちます。

いままでgit push origin masterとうっていましたが、正しくは

git push origin master:master(ローカルのmasterブランチとリモートのmasterブランチを統合する)の省略です。

ちなみにoriginというのはリモートのサーバーに自動でつけられる名称のようですね。

上記のgit push origin master:masterのコマンドの意味ですが、下記のような意味です。

originというリモートサーバーにローカルのmasterブランチのデータをリモートのmasterブランチに送る

ようやく意味がわかった・・・

ちなみに参考にしたのは下記リンクです。

http://dqn.sakusakutto.jp/2011/10/git_push_origin_master.html

新ブランチをローカルに反映

別の環境でブランチを作成し、それを自分のローカル環境に取り込みたいときは、

git branch newbranch(新しいブランチ名)

git pull origin newbranch で取り込めます。

注意点としては自分のローカル環境でブランチを再作成すること。

ただし、ローカルで作ったブランチはgit branchをした際の現在のbranchの影響をうけますので、スムーズに取り込めないこともあります。

分岐を考えましょう。

追記

また別の環境で新ブランチを引っ張ってくるときは、リポジトリ自体がないときはgit cloneがよいですが、すでにあればその別環境で新ブランチを作ったあとgit pullすればOKです。

-Git
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

githubのremoteリポジトリへの登録

githubにgit pushしようとしたときにエラーがでたんでちょっとメモ。 githubに登録する場合、設定が適切でないと、

など …

no image

Gitデタッチ、インデックス、プッシュなど

まとまってませんが、Gitであったトラブルについてのメモです。 Contents1 デタッチ状態2 インデックス一覧&削除2.1 インデックスの一覧2.2 インデックスから取り除くとき3 git pu …

no image

最新版のgitをソースから&git diffおさらい

Contents1 gitをソースから2 git diff gitをソースから gitはyumから入れてもいいんですが、バージョンが古かったりすると機能がいろいろと制限されるなどのデメリットもあります …

no image

Gitで差分を見やすく表示する方法

gitの差分確認ですが、デフォルトのコンソールの画面だと下記のようなわかりにくい表示になります。 差分をチェックしたい場合はやはり左右にわけてしっかり見ることができたほうがいいですね。 この実現の仕方 …

no image

Gitで統合 merge関連

本日はずっとブランチ間の統合を行っておりました。 たとえばhogeブランチとfooブランチの統合をする場合、差分を最初に確認すると思いますが、 [crayon-5b77c02ce9a1f4557705 …