Git遠程倉庫同步時用戶認證有兩種方式:HTTPS、SSH,對應的Git倉庫上有兩個不同的鏈接地址。
https方式使用賬號和密碼授權,簡單易用,便於進行權限細分管理,而且防火牆一般會打開 http 和https協議的端口號80 和 443。可以進行匿名訪問,對於開源項目,其他人即使沒有任何權限也可以方便進行除提交之外的克隆和讀取操作。但是可能需要每個項目成員都有一個代碼托管平台的賬號,而且缺乏憑證管理的話,可能要頻繁的進行賬號密碼輸入。
ssh方式單獨使用非對稱的秘鑰進行認證和加密傳輸,和賬號密碼分離開來,不需要賬號也可以訪問repo。生成和管理秘鑰有點繁瑣,需要管理員添加成員的public key。不能進行匿名訪問,ssh不利於對權限進行細分,用戶必須具有通過SSH協議訪問你主機的權限,才能進行下一步操作,比較適合內部項目。
以前Git保存HTTPS方式的用戶名、密碼是在Windows用戶下的文件文件中明文保存(參考網上很多配置方法)很不安全,所以不少人選擇用SSH方式認證。但目前Windows下Git的用戶憑據已不用明文密碼保存了,用戶目錄下已找不到保存驗證信息的文件,而是采用Windows憑據管理的方式,查看方法:Win鍵 ->搜索credential ->管理Windows 憑據 -> 普通憑據(or 控制面板 -> 用戶賬戶 -> 管理Windows 憑據 -> 普通憑據)。
在第一次用HTTPS訪問遠程倉庫時會彈出讓你輸入認證信息的界面,在你輸入正確的用戶名、密碼后可訪問遠程倉庫,但如果輸錯則報錯無法訪問,再次訪問會直接報錯,此時要到上面Windows憑據管理中修改認證信息,或清除已保存的憑據信息再訪問時重新輸入即可。