質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

2回答

1835閲覧

リモートブランチの情報をローカルに落としたい

tsujin

総合スコア11

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

1クリップ

投稿2019/05/21 02:10

GIT初心者です。
最近仕事でGITを触るようになりました。
まだまだ理解が浅いので詳細に教えて頂ければ幸いです。

自社では、イベントごとにブランチを作りマスタブランチにマージし運営しています。
最近イベント作成者が増えたためいろんな所からブランチが上がるようになりました。
そこでお聞きしたいのが、自分以外の人が作成したブランチ内にあるファイルを
自分のローカルファイルに落としたいのですが方法がわかりません。

コマンド等教えて頂きたく思います。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2019/05/21 02:39

「自分のローカルファイルに落としたい」とのことですが、ローカルファイルに落とす、とは具体的に何を指していますか? git checkout とは別のものでしょうか?
tsujin

2019/05/21 05:01

説明下手で申し訳ございません。 >「自分のローカルファイルに落としたい」とのことですが、ローカルファイルに落とす、とは具体的に何を指していますか? GITのブランチにあげるファイルを保管しているローカルファイルです。 ここからgit checkout、addしてファイルをブランチにアップしています。 上記のように自分のローカルファイルで作成したファイルをリモートに移したいときにgit checkoutを使っておりますが、逆も可能なのでしょうか?
guest

回答2

0

そこでお聞きしたいのが、自分以外の人が作成したブランチ内にあるファイルを

自分のローカルファイルに落としたいのですが方法がわかりません。

大事な前提条件の確認ですが、
リポジトリというのはGitHubやBitBucket等の設計図共有サイトを利用しているということでしょうか?
そのサービスの案内に従ってgit cloneから始めた場合、大抵remoteがoriginという名前で作られているはずです。

Bash

1// origin1個なら問題なし、複数あるなら対応を確認すべきだけどまぁ1個だけでしょ? 2$ git remote 3origin 4 5// とりあえずホスティングサービスに登録されている全ブランチを落としてくる 6$ git fetch 7 8// -aオプション付きだと全てのブランチが確認できる 9$ git branch -a 10* master 11 remotes/origin/HEAD -> origin/master 12 remotes/origin/awesome1 13 remotes/origin/awesome2 14 remotes/origin/awesome3 15 16// checkoutする時に「origin/ブランチ名」の形式で指定すれば大丈夫 17$ git checkout origin/awesome1 18Branch 'awesome1' set up to track remote branch 'awesome1' from 'origin'. 19Switched to a new branch 'awesome1' 20 21$ git branch 22* awesome1 23 master

投稿2019/05/21 05:22

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsujin

2019/05/21 05:56

大変わかりやすい解説ありがとうございました。 コマンドそれぞれに解説をつけて頂いて助かります。 今後の勉強に活かさせていただきたいと思います。 git checkout を行い無事解決できました。 また何かありましたら宜しくお願い致します。
guest

0

ベストアンサー

まず、「サルでもわかるgit入門」などを読んでgitの概念を整理することをおすすめします。
自分が何をやっているか理解しないと、その場しのぎで達成できたとしても具体的に各コマンドをどう使えばいいかもわからないままになってしまいます。

GITのブランチにあげるファイルを保管しているローカルファイルです。
ここからgit checkout、addしてファイルをブランチにアップしています。

以下、用語の整理です。

ローカルリポジトリ:pullしてきて作業した結果をコミットとして保存する場所(各個人のPC)
リモートリポジトリ:コミットをpushする場所(サーバー)

ローカルファイルという言い方でも悪くはないのですが、あくまでローカルリポジトリという用語で書いたほうが意図が明確になると思います。

上記のように自分のローカルファイルで作成したファイルをリモートに移したいときにgit checkoutを使っておりますが、逆も可能なのでしょうか?

逆のことを書いている気がします。リモートリポジトリにあるブランチを参照したいときに git checkout をするとローカルリポジトリに同名のブランチを作ってくれます。
git checkout は主にローカルリポジトリ内でブランチを切り替えるときに使うものです。
「作業内容をコミットするときはブランチを作ってからコミットしてください」という意味で git branch, git checkout をすることを質問者の方は「自分のローカルファイルで作成したファイルをリモートに移したいとき」と表現したのでしょうか?

以下のコマンドも試してみてください。

$ git fetch $ git branch -r

git fetch はリモートリポジトリにあるブランチやコミットの最新状況を取得するコマンドです。ただし、git pull とは違って、今の作業ファイルの状態は変更しません。

git branch -r はリモートリポジトリにあるブランチ一覧を表示します。
fetch するとこの一覧も更新されたりするはずです。

投稿2019/05/21 05:44

mather

総合スコア6753

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tsujin

2019/05/21 05:54

大変わかりやすい解説ありがとうございました。 確かに私の認識が誤っていたみたいです。とても助かりました。 git checkout を行い無事解決できました。 また何かありましたら宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問