haiju's 開発メモ

開発に必要な情報を自分用にメモ

remoteリポジトリの変更内容を取得しようと思って、git fetchしようとしたらアクセスエラー【解決】

同じパスワードで認証しているのに、git fetchはエラーだけど

git cloneでローカルにプロジェクトを落としてくるとエラーに

ならないのは何で?(ΦωΦ)

ってところを考えてみた。

まず、違うところ。

プロジェクトのディレクトリとファイルのオーナーが

リモートはrootだけど、ローカルは自分(一般ユーザー)。

他を確認してみたけど、特になかった。

でも、今まで特にroot権限でgit fetchで認証エラーになったことは

ないのに。何でだろう???

という訳で、根本的な解決にはなってないけど、リモートのリポジトリ

pushするためにやってみた手順。

1. リモートのgit fetchが通らないプロジェクトをリネーム。

2. 改めて、リモートからgit cloneを実行し、プロジェクトを

 再取得。

# git clone -b develop ssh://192.168.x.xxx/home/git/xxx.git

3. ローカル実行環境の修正分を2で作成した環境にmerge。

# git merge feature-task-xxxx

4. リモートの変更点を取得し、merge。

# git fetch origin

root@192.168.x.xxx's password:

# git merge origin/develop

Alread up-to-date.

5. リモートに3の内容をpush。

# git push origin develop
root@192.168.x.xxx's password:
Counting objects: 10, done.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 684 bytes | 0 bytes/s, done.
Total 6 (delta 5), reused 0 (delta 0)
To ssh://192.168.x.xxx/home/git/xxx.git
7d4c55d..e6dff9c develop -> develop

うーん、元々個人開発で、ローカル開発環境で使い勝手が

いいようにファイル権限とかオーナーとか自分でやってた

から、その辺の権限が壊れたとかあるのかもしれんけど・・・