git push 之 Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa'


今天嘗試把git與GitHub聯系起來,方便后續往GitHub上面推送項目。過程中踩了幾個坑,記錄一下:

一、生成 GitHub--SSH-公鑰

1、在git中用命令行 ssh-keygen -t rsa -C 'your email address'

  1. 文件名稱及位置選擇默認,enter即可。
  2. passphrase一定要寫,其實可以跳過,但是有密碼更安全不是,但就是這個密碼,又給自己埋下了坑。

 

2、拷貝上面的/.ssh/id_rsa.pub到GitHub上,位置見如下截圖:

 

 

二、設置remote GitHub(坑一)

這個時候,需要在git 上設置remote地址:

SSH :
git remote add orgin ssh://github.com:your github account/your repository

HTTPS:  
git remote add orgin https://github.com/your github account/your repository

區分了添加https和ssh兩種方式,區別就在於:

ssh:不需要每次提交的時候都輸入username和passphrase

https:每次都需要輸入一遍username和passphrase。

而我一開始手滑選擇了https,導致每次提交都要重新輸入密碼和用戶名,所以后來就切換到了ssh模式下。具體怎么切網上有很多教程,不再贅述。

然后,push想要push的東西即可:

git push -u origin master
# -u 只有首次提交的時候需要,后續再次push可以省略

 

三、開始編寫及提交代碼(坑二)

仍然每次都需要填寫密碼:

Enter passphrase for key '/Users/MYNAME/.ssh/id_rsa'。

說好的ssh不需要密碼呢??
翻了一些教程,有的說干脆重新設置為無密碼,這樣就不需要每次都輸入了,個人覺得這是個辦法,不是最優解。下面把我最后的解法貼下來,這個方法的原理就是托管一個代理替你保存密碼,我的系統是centos7.6:
# 1、先打開代理,如果你已經打開,那么直接運行命令2即可:
eval $(ssh-agent)

#2、輸入下面命令,然后再次輸入密碼即可,大功告成
ssh-add ~/.ssh/id_rsa
至此,我們就可以輕松地提交代碼了。

四、另外還有一些小問題,順手記錄下來:
  • 在提交完代碼后,會提示這個警告:

warning: push.default 未設置,它的默認值將會在 Git 2.0 由 'matching'

 
        

修改為 'simple'。若要不再顯示本信息並在其默認值改變后維持當前使用習慣,

 
        

進行如下設置:

  git config --global push.default matching

若要不再顯示本信息並從現在開始采用新的使用習慣,設置:

  git config --global push.default simple

參見 'git help config' 並查找 'push.default' 以獲取更多信息。
('simple' 模式由 Git 1.7.11 版本引入。如果您有時要使用老版本的 Git,
為保持兼容,請用 'current' 代替 'simple' 模式)

No refs in common and none specified; doing nothing.
Perhaps you should specify a branch such as 'master'.

 
        

fatal: The remote end hung up unexpectedly

 
        

Gogs: Internal error
Failed to execute git command: exit status 128
error: 無法推送一些引用到 'git@softlab.sdut.edu.cn:daijingxin/addressbook.git'
git push.default設置

 

 

這個問題也很容易解決:

# 運行這個命令:
git config --global push.default simple


# 或者這個命令:
git config --global push.default matching

#區別在於, 前者只提交你當前所在的分支,而后者會提交本地所有的分支
  • 出現警告:Warning:Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.

這個問題出現的原因猜測是因為GitHub是境外網站導致的,不解決沒有大礙,但是看着別扭。
# Linux下的修改:
  vi /etc/hosts

insert 13.229.188.59 github.com

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM