3

タイトルで言ったように、ジェリットにプッシュしたり、ジェリットから引っ張ったりすることはできますが、チェリーピックはできません。私が管理者に尋ねたとき、彼は私がチェリーピックのすべての権利を持っていると言いました、しかし私は次のようにエラーを受け取ります:

エラーメッセージ

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

プルしてリベースしようとすると

praveen@praveen-vbox:~/work/myapp$ git pull --rebase
remote: Counting objects: 8888, done
remote: Finding sources: 100% (615/615)
remote: Total 615 (delta 416), reused 536 (delta 416)
Receiving objects: 100% (615/615), 267.47 KiB, done.
Resolving deltas: 100% (416/416), completed with 163 local objects.
From gerrit:myapp
   b7b8734..f5a782b  master     -> origin/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to f5a782b97079491e25638c9a752794e3af0a7543.

ステータスを確認しようとすると

praveen@praveen-vbox:~/work/myapp$ git status
# On branch master
nothing to commit (working directory clean)

コミットしようとすると

praveen@praveen-vbox:~/work/myapp$ git commit
[master 4c41a43] Minor fixes
 2 files changed, 2 insertions(+), 2 deletions(-)

プッシュしようとすると

praveen@praveen-vbox:~/work/myapp$ git push gerrit:myapp HEAD:refs/for/master
Counting objects: 20, done.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 896 bytes, done.
Total 10 (delta 9), reused 0 (delta 0)
remote: Resolving deltas: 100% (9/9)
remote: Processing changes: updated: 1, done
To gerrit:myapp
 * [new branch]      HEAD -> refs/for/master

チェリーピックしようとすると

praveen@praveen-vbox:~/work/myapp$ git fetch ssh://praveen@my.appdomain.com:29418/myapp refs/changes/24/5324/2 && git cherry-pick FETCH_HEAD
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

概要

私のアプリケーションは、VirtualBoxインスタンスのUbuntu12.04で実行されます。私のすべての仲間はそうすることができます、そして私は問題が私のマシンだけにあるとわかります、そしてそれはによってもそうです。何が問題なのですか?あなたたちは何を提案しますか?これ以外にどんな情報が必要ですか?cherry-pickcherry-pickFETCH


アップデート#1

GitConfig

praveen@praveen-vbox:~/work/myapp$ git config --list
alias.s=status
alias.c=commit
alias.ca=commit --amend
alias.co=checkout
alias.dc=diff --color
alias.l=log --oneline
alias.pr=pull --rebase
alias.aa=add .
user.email=[removed] /* Removed before posting to SO. Email matches. */
core.editor=vim
color.ui=always
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=gerrit:myapp.git
branch.master.remote=origin
branch.master.merge=refs/heads/master

Titasのクエリの場合、結果は次のようになります

praveen@praveen-vbox:~/work/myapp$ git fetch gerrit refs/changes/96/5396/3
fatal: 'gerrit' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

また、私が通常行う場合、これは結果です:

praveen@praveen-vbox:~/work/myapp$ git fetch ssh://praveen@my.appdomain.com:29418/myapp refs/changes/96/5396/3 && git cherry-pick FETCH_HEAD
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

アップデート#2:SSH構成

RasmusØstergaardKjærVossからの要求に応じて、SSH構成ファイルの下に含めました。何か変更が必要な場合はお知らせください。

praveen@praveen-vbox:~/work/myapp$ cat ~/.ssh/config
Host gerrit
HostName my.appdomain.com
Port 29418
User praveen
IdentityFile ~/.ssh/praveen_private
4

3 に答える 3

1

~/.ssh/私の理解では、ではなくキーgit fetch ssh://praveen@my.appdomain.com:29418/を使用します。id_rsa~/.ssh/praveen_private

フォルダをバックアップします次に、 named~/.sshのコピーを作成してみてください。それがキーの場合は、それ以外の場合はにコピーします。~/.ssh/praveen_private~/.ssh/id_rsarsa~/.ssh/id_dsa

乾杯

于 2012-11-27T00:30:26.873 に答える
0

gitまたはgerritの設定、またはgerritデプロイメントの全体的な設定に問題があります。あなたはgit pull基本的git fetch && git mergeにカバーの下で実行されるを実行することができます。git fetchただし、gerritからコピーして貼り付けるコマンドを実行することはできません。の出力を見て、実行しようとしているcherry-pickコマンドgit remote -vの部分と比較します。git fetchまったく同じサーバーのURLとポートにアクセスしていますか?同じユーザーとして?

最後に、Gerritへの接続テストとして、のようなものを実行してみてくださいssh username@gerrit_host -p 29418 gerrit ls-projects。これにより、Gerritサーバー上のプロジェクトのリストが返されるはずであり、設定の問題を解決するための良い方法です。

于 2012-11-26T20:22:05.297 に答える
0

これは私に同じエラーを与えました:

ssh firstname.lastname@my.appdomain.com

に変更:

ssh firstname.lastname@gerrit.appdomain.co

私の問題を修正しました。

于 2014-12-24T08:14:44.420 に答える