Eclipse で作業している簡単なサービスのプログラムを、別のPCからブランチを切ってリモートリポジトリにあげていたのだけれど、サブPC (Linuxノート) から作業しようと思って、リモートのブランチからローカルにチェックアウトしようとしてみたところ、何度やっても EGit のリモートリポジトリにブランチが出てこない。

はて、困ったもんだ。。

 

 

git fetch コマンドは沈黙している

Gerd AltmannによるPixabayからの画像

いままで Eclipse の EGit 頼みでやってきていて、Git コマンドを真面目に勉強してこなかったツケがまわってきたな・・

と思いつつ、ブラウザでググりながらいろいろ試行錯誤。

git branch -a
* master
  remotes/origin/master

本当は、ここに remotes/origin/develop というのが出てきてほしいのです。

ひとまず、こんなときは次のようにするといいらしい。

git fetch origin

・・ところが何も起こらない。

git fetch origin
git branch -a
* master
  remotes/origin/master
git branch -r
 origin/master
git branch -r
 origin/master

何度やっても同じだよねぇ。

 

.git/config を確認する

そこで、更に奥深くまで調べていくと、どうやら .git/config の設定が誤っているということなので、内容を確認してみた。

[core]
        repositoryformatversion = 0
        filemode = true
        logallrefupdates = true
[remote "origin"]
        url = ssh://hoge@zatsusrv.mydomain.jp:64022/~/git/bbspl.git
        fetch = +refs/heads/master:refs/remotes/origin/master
[branch "master"]
        remote = origin
        merge = refs/heads/master

この、[remote "origin"] 内の、fetch = +refs/heads/master:refs/remotes/origin/master がおかしいらしいので、次のように書き換えました。

[core]
        repositoryformatversion = 0
        filemode = true
        logallrefupdates = true
[remote "origin"]
        url = ssh://hoge@zatsusrv.mydomain.jp:64022/~/git/bbspl.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master

そして、次のように実行。

$ git branch -r
  origin/master
$ git fetch origin
remote: Counting objects: 13, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 13 (delta 6), reused 0 (delta 0)
Unpacking objects: 100% (13/13), done.
From ssh://hoge@zatsusrv.mydomain.jp:64022/~/git/bbspl.git
 * [new branch]      develop    -> origin/develop
$ git branch -r
  origin/develop
  origin/master
$ git branch -a
  develop
* master
  remotes/origin/develop
  remotes/origin/master

めでたし!

これでようやく続きの作業ができる。

 

まとめ

人間、歳とっても「ひとつ賢くなる」ことはできるのである。


 

 
カテゴリー: Linuxubuntuコマンド

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

アバタープレースホルダー

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