iT邦幫忙

1

git push 出現問題

  • 分享至 

  • xImage

背景:
我自己用帳號A創建了一個repository,然後用帳號B去fork clone 修改 push回去帳號B的時候出現以下Error,我是用SSH金鑰來進行身份驗證
! [remote rejected] main -> main (permission denied)
error: failed to push some refs to 'git@github.com:MikeyCheng0707/demo.git'

我目前做的確認有
一、
git remote -v
origin git@github.com:MikeyCheng0707/demo.git (push)
看起來推送的repository沒有問題。

二、
網路上目前有提到的是
git config --global --edit
去修改文件加入以下訊息
[credential]
helper = osxkeychain
useHttpPath = true
or
[credential]
helper = store

但還是一直遇到一樣的error,想請假各位前輩是否有什麼想法

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
狗狗兔兔
iT邦新手 3 級 ‧ 2023-08-06 11:28:21
最佳解答

我 Fork 你的專案,並提交訊息是沒有問題的。
你的原始專案 https://github.com/MichaelCheng0707/demo
你的Fork專案 https://github.com/MikeyCheng0707/demo

我猜問題的節點是你認為你是用 MiKey 推 MiKey,但其實電腦是認為你用 Michael 推 MiKey

  1. 進到 Fork 專案裡面

  2. git config --list 去檢查你推送的本地設定檔

  3. 檢查 Mikey ssh key 是不是真的放進 github 裡面,還是粗心只把 ssh key放了 Michael而已

  4. git remote 看來已經有用過了

  5. 如果還是不能解決你的問題,你試試在電腦安裝一台 VM,安裝 git 與 配置 Mikey 設定,讓乾淨的電腦幫你拉跟推嘗試看看,可以的話,檢查 local git 配置(如果你熟 docker,抓 centos/ubuntu 下來挺快的。

你能夠把這四個指令結果貼出來嗎,有覺得機密的請打馬賽克。
1. cat MikeyCheng0707/demo/.git/config
2. cat ~/.gitconfig
3. git config --list
4. git config --list --global

看起來是本機沒有分清楚兩隻帳號,我會在處理一下username email那些試試看!非常感謝

0
echochio
iT邦高手 1 級 ‧ 2023-08-06 10:29:31

A創建了一個 repository,然後用帳號B去fork clone
修改 push回去帳號B的時候出現以下Error .....

為何不將 B去fork clone 下的 .git 刪除
再重建 B 的 .git
還是需要保留 A 的歷史流程?

更快的方式 : (A 的 repository 必須公開才能匯入 )
github.com 最快的方式是用網頁登入B 直接建立一個 repository
選 A 的 github 網址直接匯入

https://github.com:MikeyCheng0707/demo.git

因為我是第一次用這套,想學習一下過程,抱歉~
也謝謝你的好建議!

0
下次一定
iT邦新手 4 級 ‧ 2023-08-07 23:23:32

我推測是電腦分不清楚你要去哪裡
可以參考教學去做設定

然後記得你專案底下的.git/config要做更改,假設你是git@github.com:someName/someRemoteRepository
你要把github.com換成~/.ssh/config裡面的HostName

我要發表回答

立即登入回答