2017-02-23 99 views
1

我對git相當陌生,除了Windows之外,很少使用任何其他軟件進行編程。配置SSH密鑰讓git在不在Git Bash中時使用

我已經使用create-react-app設置了React應用程序,並使用gh-pages將其部署到我的github.io項目頁面。我在本地機器上設置了一個SSH密鑰,並將其添加到我的github SSH密鑰中。運行ssh-agentssh-add使得無需輸入用戶名和密碼即可在簡單的Git Bash中進行部署。大。

但是,我正在使用Sublime Text進行我的開發,並且想要使用npm plugin從編輯器運行npm run deploy。我得到以下錯誤:

Cloning [email protected]:<username>/<repo>.git into node_modules\gh-pages\.cache 
Cloning into 'node_modules\gh-pages\.cache'... 
Permission denied (publickey). 

fatal: Could not read from remote repository. 

Please make sure you have the correct access rights 
and the repository exists. 

除非我想念我的猜測,看來混帳不知道自動使用SSH密鑰,無論在哪裏它正在從運行。有沒有辦法配置這個?

回答

1

確保在您的環境變量定義:

  • 一個PATH包括<git>/bin以及<git>/usr/bin(與<git>latest Git For Windows的安裝路徑)
    usr/bin不包括ssh.exe);
  • 一個HOME環境變量設置爲%USERPROFILE%

確保您看到dir %HOME%\.ssh

公鑰/私鑰然後從會話啓動SublimeText。

+0

這大多解決了我的問題。爲了使'ssh-add'工作,需要設置兩個環境變量集,這些變量集在運行'ssh-agent -s'時返回。我猜想讓它在Sublime Text中工作的唯一方法是編寫一個腳本,它在打開Sublime Text之前從ssh-agent中獲取這兩個值並在其上運行「setx」。有沒有更好的辦法? – dfoverdx

+1

@dfoverdx不是我所知道的(如https://github.com/kemayo/sublime-text-git/issues/178或http://stackoverflow.com/q/36338537/6309所示)。但是,您是否需要帶密碼的私鑰? – VonC

+0

我還沒有意識到無密碼鍵不需要'ssh-agent'和'ssl-add'。謝謝你的幫助! – dfoverdx