1. 程式人生 > 實用技巧 >windows生成公私鑰以及應用

windows生成公私鑰以及應用

windows生成公私鑰以及應用

配置githubssh

  • cd.ssh目錄下
# 一般在你的user目錄下
Administrator@WIN-2R42RCRNSQR MINGW64 ~
$ cd .ssh

# 生成祕鑰對
Administrator@WIN-2R42RCRNSQR MINGW64 ~/.ssh
$ ssh-keygen -t rsa -C "your email"

然後就是下一步操作

Administrator@WIN-2R42RCRNSQR MINGW64 ~/.ssh
$ ls
id_rsa  id_rsa.pub

# 其中id_rsa.pub是公鑰,id_pub是私鑰

將生成的Id_rsa新增到github專案的sshkey

  • 拉取遠端倉庫的程式碼

  • 報錯解決
Administrator@WIN-2R42RCRNSQR MINGW64 /f/control (master)
$ ssh -T [email protected]
Hi Surpass-w! You've successfully authenticated, but GitHub does not provide shell access.

報錯二

refusing to merge unrelated histories  # 拒絕合併不相關的歷史

"""
出現這個問題的最主要原因還是在於本地倉庫和遠端倉庫實際上是獨立的兩個倉庫。假如我之前是直接clone的方式在本地建立起遠端github倉庫的克隆本地倉庫就不會有這問題了。
"""

解決方案:

# 合併兩個獨立啟動倉庫的歷史
git pull origin master --allow-unrelated-histories

git push origin master:master
git push <遠端主機名> <本地分支名>:<遠端分支名>

git pull命令本質上其實是git fetchgit merge的結合體,Git 從指定的遠端倉庫中抓取內容,然後馬上嘗試將其合併進你所在的分支中。

git fetch 3.txt

這個命令會訪問遠端倉庫,從中拉取所有你還沒有的資料。 執行完成後,你將會擁有那個遠端倉庫中所有分支的引用,可以隨時合併或檢視。

但是注意的是 git fetch 並不會自動合併或修改你當前的工作。 當準備好時你必須手動將其合併入你的工作。

使用cmd ssh遠端連線虛擬機器