プログラマーの大角です。今回はGit操作時に起きるエラーの対応方法についてです。
Gitについて
Gitの事をあまり知らない人向けに簡単にご説明させて頂きます。
分散型バージョン管理システムのGitは開発において複数人で実装したプログラムを一つに統合したり、データのバックアップや共有等データを管理する為に様々な機能が有り、クラウド上でメンバー間のやりとりが可能な為プログラマやCGデザイナーに多く使われているツールです。
エラー内容
SourceTreeなどでpull操作が出来ない理由は色々有りますが、
下記エラーメッセージが出てpullが出来ない事が起きた事は無いでしょうか?
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin
remote: Repository xxxxxxxxxxx/japaneseversionvideos1 not found
fatal: repository 'https://bitbucket.org/xxxxxxxxxxx/japaneseversionvideos1.git/' not found
エラー終了しました。エラーの内容は上記をご覧ください。
こちらのエラー内容は
「対象のリモートリポジトリが見つからへんで〜」
みたいなエラーですね。
エラーが起きる理由
チーム開発を行っている場合、他のチームメンバーがリポジトリ名を変更したり、譲渡したりした場合に起こりうる内容になります。
対応方法
新たにcloneすれば問題は有りませんが、その時点で大量の変更作業をしている場合などデータ移行が面倒だと思いますし、移行時にミスやトラブルが発生して作業やり直しが発生すると作業時間を大幅に無駄にしてしまいます。
【結論】
リモートリポジトリのURLを変更すれば解決します。
SourceTreeで行う場合
(1)Bitbucketの場合ですと、サイト内の対象のリポジトリのページの下記箇所や
clone操作で表示される下記箇所からhttps以降の部分をコピーしてテキストなどに保存しておきます。
(2)SourceTree右上に配置されている設定アイコンを押下します。
(3)そうすると下記ウインドウが表示されますので対象のパスをクリックします。
(4)パスが変更できるようになるので、(1)で保存していた内容を貼り付けます。
(5)この後にpull操作を行えば、上手くいくはずです。
Gitの設定ファイルを直接変更する場合
Gitの設定ファイルを直接変更しても対応可能ですが、Gitの設定ファイルが入っているディレクトリは非表示になっておりますので、過去に隠しファイルを表示させる設定を行っていない場合、Gitの設定ファイルを操作出来ませんので、隠しファイルの表示操作が必要となります。
MacとWindows10の2パターンでの方法をご説明します。
(A)
■Macの場合
ターミナルを起動し、下記コマンドを実行して下さい。
$ defaults write com.apple.finder AppleShowAllFiles TRUE
上記コマンドを実行後、設定を適用させる為に下記コマンドでFinderを一度終了します。
$ killall Finder
再度、Finderを開くと、隠しフォルダ・隠しファイルが表示されていると思います。
■Windows 10の場合
エクスプローラーを起動し「表示」タブを押下すると「隠しファイル」と表示された左横にチェックボックスが有りますので、クリックして「レ点」が表示されている状態にします。
(B)(A)の手順によって下記のようにGitのディレクトリが表示されますのでダブルクリックでディレクトリを開きます。
(C)ディレクトリの中にGitConfigというファイルが有るのでダブルクリックしてエディター編集ツールで開くと下記のように表示されます。
(D)事前に(1)で保存していた内容を貼り付けます。
url =「ここに(1)で保存していた内容を貼り付けます」
pushurl = 「ここに(1)で保存していた内容を貼り付けます」
(E)
■Macの場合
「Command」 + 「S」 で変更を保存します。
■Windowsの場合
「Ctrl」 + 「S」 で変更を保存します。
(F)この後にpull操作を行えば、上手くいくはずです。
終わりに
便利なGitが納品前などに突然使えなくなったら、予定していたスケジュールを変更せざるを得なくなったりして困ってしまいますよね。
あと、Gitを使い始めの頃は扱い方がさっぱり分からず、関係無いブランチにデータをプルリクエストしてしまったり、コンフリクト対応時に必要なデータを消してしまったりとトラブルに振り回されたりする事も有るかと思いますが、ある程度Gitの事が分かって来たら無くてはならない存在になってきますね。
読んで頂いて有難う御座います。
それでは失礼します。