WindowsでのGitリポジトリの反映方法

このQ&Aのポイント
  • Gitワーキングスペース最新にGitリポジトリAをクローンし、Windowsパソコンにもクローンする方法について説明します。
  • Cでの作業結果をBに反映させるために、Bをノンベアリポジトリに戻す方法を紹介します。
  • Bをノンベアリポジトリに戻し、Cでの作業結果をBに反映させる手順を説明します。
回答を見る
  • ベストアンサー

gitワーキングスペース最新に

git リポジトリAを手元のlinux上にクローンしてきました。 git clone リポジトリアドレス . このクローンしたものをBとします。 Bからwindowsパソコンにクローンしました。 これをCとします。 Cで作業してBにプッシュするとなんか怒られて出来ませんでしたので、 Bにて git config --bool core.bare true してベアリポジトリに変更しました。 するとPCで作業したCからBへプッシュできました。 あるときBをノンベアリポジトリに戻しました。 git config --bool core.bare false この時Bのワーキングスペースは以前のベアリポジトリに変更した時のままでした。 このBのワーキングを今まで色々とCからプッシュした状態を 反映させたものにする必要が出てきたのですが、 どうやったら良いでしょうか? ※いずれもmasterブランチしかありません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

参考URLにもあるとおり、 ベアリポジトリはワーキングディレクトリを持ちません http://www.nekotricolor.com/entry/theory-of-bare-and-non-bare-repository-manage-wordpress-themes-with-git なので、Bをノンベアに戻したときは昔のワーキングディレクトリが戻っただけなのでしょう。 どういう運用をしたいかはわかりませんが、 Bにもうひとつノンベアリポジトリを作成し、ローカルのベアリポジトリからfetchするなどの運用ではだめでしょうかね。

muuming2001
質問者

お礼

ありがとうございました。

関連するQ&A

  • gitの開発のすすめ方について

    git clone -url- で、ローカルにリポジトリを作るまではいいのですが、 そのリポジトリで作業するべきでしょうか? それとも、さらにローカルにブランチを作って作業するべきでしょうか? 細かな変更までログに残って煩わしくなってしまわないか心配しています。 subversionは使ってましたが、 gitは初心者です。 よろしくお願いします。

  • gitを使い始めた初心者です

    gitにはリモートリポジトリとローカルリポジトリがありますが、 疑問があります。 ①gitはブランチ作成元の情報を持っていますか?  ブランチを作成した後、何度かコミットしたとしてもブランチ作成元からの変更差分一覧を見れるのでしょうか? 前回のコミットからの差分は見れているのですが・・・。 ②ローカルで作成したブランチとリモートとの関係が分かりません。  たとえば、ローカルで田中部長アホという名前のブランチを作って変更を加えた場合、プッシュしたときに田中部長アホがリモートに作成されるのですか? もし、作成されない場合、私の変更はどこにプッシュされるのですか? (ローカルのブランチ名は他人にはばれないのですか?)

  • GitのPullについて

    初めまして。 当方ソース管理のGitを勉強中なのですが、質問があります。 例えばリモートリポジトリのmasterブランチに古い順にA-B-Cとコミットがあったとします。 そしてAのコミットから「20180314」というブランチを切って一つコミット(D)してあります。 そこで今ローカルブランチ(20180314というブランチをまだ追跡していない状態)のmasterブランチ(ローカルの最新はA)でリモートのmasterをpullした場合、新しく「20180314」というブランチはできると思うのですが、Dのコミットについてもpullされるのでしょうか? 書き方が雑で分かりにくく申し訳ありません。 よく分からず困っているので、ご教授頂きたいです。 よろしくお願いします。

  • gitで過去のコミット履歴を非表示にしたい

    gitで過去のコミット履歴を非表示にすることは可能でしょうか? 現在プログラム編集を行っているリポジトリ内の一部ブランチだけを別のリポジトリにコピーして作業を行いたいと思い、 git remote add origin 追加したいリポジトリ このコマンドで、追加したいリポジトリに、一部ブランチをコピーしました。 新しいリポジトリ側でlogを確認してみたところ、コピーしたブランチがどのようにmasterから分岐してきたかの履歴もコピーされてきました。 基本的には、コピーしたブランチの最新の状態のみのコピーされていればよかったのですが、過去の履歴を非表示にする方法などはありますでしょうか? どうぞ、ご教示の程よろしくお願い致します。

  • ラズパイでgit branch操作について

    現在ラズパイ3のgitコマンドで自分のPCで編集などをしたコードをgithub経由でクローンしてダウンロードしたいと思っています。 git clone https://github.com/KenjiMaehara/ServerClient20150702.git これで”ServerClient20150702”というプロジェクトフォルダをクローンしました。 一応、このプロジェクトは元々はラズパイで使うつもりではないプロジェクトだったので、とりあえずラズパイ関係のプロジェクトとして間借り的な感じで、ブランチとして”raspberrypi3_tcp_codes”というブランチを作成しました。 先ほどクローンしたこのフォルダ /home/pi/ServerClient20150702 こちらはブランチがどうなっているかを調べるため Gitを使いこなすための20のコマンド | OSDN Magazine https://osdn.jp/magazine/09/03/16/0831212 こちらのサイトの内容でブランチの切り替えについて調べてみたところ git branch これで確認できるとのことで、 /home/pi/ServerClient20150702 をカレントディレクトリにして git branchを行ったところ、 ServerClient20150702 * master このように出てきました。 もし、ブランチが複数あるならば ServerClient20150702 * master raspberrypi3_tcp_codes このように出てくると思うのですが、なぜ出てこないのでしょうか? 現在masterブランチに設定されているディレクトリ内容をraspberrypi3_tcp_codesブランチに切り替える方法をご教示いただきますよう、宜しくお願い致します。

  • gitを使っている人に質問です。

    gitでソース管理をしています。 gitではファイルをコミット、プッシュする用のリポジトリフォルダと、自分がローカルで作業する用の普通のフォルダ、2種類のフォルダで作業せよと教わったのですが、そうなんですか? 「Project」というフォルダを、リポジトリとしているとします。 そのコピーを「Project2」とし、ローカルでのファイルの修正はそこですると。 で、自分の修正が終わってコミット、プッシュする前に、 「Project」を最新にするためにそこで同期、プルを行います。 その後で「Project2」の中の自分が修正したファイルを「Project」の中に上書きし、その後にコミット、プッシュする。 そういう流れなんでしょうか? 滅茶苦茶分かり辛いのですが。 同じプロジェクトファイルが2つもあるなんて、ごちゃごちゃになりそうです。 上からはそういう風に指示されたけどそんなの面倒なので、「Project」の中のファイルをダイレクトに修正していました。 んでプッシュしようとしたら失敗しました。 別の人が、自分のと被らないファイルを修正したようでした。 ここで、自分がもしそのファイルを最新にせずにコミット、プッシュをしたら、自動でマージしてしまうか、私のローカルにあった古いファイルで上書きしてしまうのでしょうか??? 自分が修正したファイルだけをアップするんじゃないんですか? SVNやVSSならそうだったはずです。 GIT、意味不明です。 GITに反対します。 ご意見をよろしくお願いします。

  • [github]リモートリポジトリを過去に戻したい

    現在、gitでのバージョン管理を勉強中です。 自分の知識では、どうしても解決できないため、 申し訳ありませんが、git の運用をされている方に助けて頂きたいです。 githubをリモートリポジトリの場所として指定しています。 リモートリポジトリに間違ってpushをしてしまいました。 また、そのpushした物が大規模な間違いでした。 したいことは、ローカルリポジトリを過去のバージョンに戻すことではなく、 githubにあるリモートリポジトリを過去のバージョンに戻したいです。 戻すブランチはmasterではなく、masterからブランチした、 developというブランチを過去のバージョンにしたいです。 どなたか力を貸して頂けないでしょうか? また参考になるURLがあればよろしくお願い致します。

  • Git外で作業をする

    Git Hub内で作業をするとコミットする際に編集が加わった箇所に自動で選択項目にチェックがはいると思うのですが そうしたくない場合、クローンしたフォルダをクローンしたフォルダの外(デスクトップなど)に出せばコミットする際に選択項目にチェックがつきませんか? 目的:クローンをして編集をするとコミットする際に編集したファイルに自動でチェックがついてしまうのでプッシュ間違い防止の為にチェックがつかない方法をとりたい。

  • githubで複数ブランチをcloneしたい

    githubで一つのリポジトリから複数のブランチがあるのですが、例えばmasterブランチをクローンしている最中に他のブランチもどこかのフォルダにクローンしておく機能はありますでしょうか? どうぞ、ご教示の程よろしくお願い致します。

  • $git diff 差分を表示で何かがへんなんです

    お世話になります。 Gitを勉強していてわからないことがあります。 対象となるファイルの中を書き換えました。 その後、変更されている差分を表示したところよくわからないコードが出てきました。 下記のコードが意味するよくわかりません。私に何を教えてくれているのでしょうか? -1<8D>s<96>ڂ<F0><92>lj<C1><82><B5><82>܂<B5><82><BD><81>B -2<8D>s<96>ڂ<F0><92>lj<C1><82><B5><82>܂<B5><82><BD><81>B 以上、よろしくお願いします。 出力結果 user@user-PC /c/first_git (master) $ git diff diff --git a/README.md b/README.md index 4dfe31a..5f11ae3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -1<8D>s<96>ڂ<F0><92>lj<C1><82><B5><82>܂<B5><82><BD><81>B -2<8D>s<96>ڂ<F0><92>lj<C1><82><B5><82>܂<B5><82><BD><81>B \ No newline at end of file +1行追加 +2行追加 +3行追加 \ No newline at end of file