skillup

技術ブログ

Git

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

投稿日:2015年6月24日 更新日:

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ブランチに送る

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

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

Git超入門:”git push origin master”の”push”と”origin”と”master”の意味がわからないあなたへ

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

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

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

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

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

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

分岐を考えましょう。

↑思いっきり間違いです。

git fetch --allで追跡ブランチを普通に取り込めます。

追記

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

-Git
-

執筆者:


comment

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

関連記事

no image

git stash ~一時的な内容の保存~

gitでコミットせずに、作業を保存したいときがあるとおもいます。 例えばあるブランチで作業していて、実は今の作業内容が別のブランチでの反映が必要になったときなどです。 gitはブランチの切り替え(gi …

no image

GitLabのCI/CD

GitLabをGitHubがわりに使っているプロジェクトがあったのですが色々調べているうちにCI/CD的な使い方ができるといことで調査することに。 jenkinsでやったようなCI/CDができます。お …

no image

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

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

no image

Gitについて基本頻出系

Gitでよく使うコマンドのまとめなんぞを。 Contents1 リポジトリ作成&基本設定2 リポジトリ取り込み系3 インデックス登録→コミット→リモート登録→プッシュ4 変更戻し系(基本的に中 …

no image

Gitで統合 merge関連

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