codecamp

使用Git集成

在为现有本地项目启用 Git 版本控制或从远程存储库克隆 Git 项目之前,请执行以下操作:

  1. 下载并安装Git。
  2. 在"设置/首选项"对话框(Ctrl+Alt+S)中,在左侧窗格中选择:版本控制|Git,并指定Git可执行文件的路径。
  3. 设置远程 Git 存储库的密码

为Git远程设置密码

每次与远程Git存储库进行交互时(例如,在执行pull, update或push操作),都需要授权。您可以配置IntelliJ IDEA来记住您的密码,这样您就不必在每次需要授权时指定您的凭证。身份验证的类型取决于您尝试访问的远程存储库使用的网络协议:HTTP 或 SSH。

如果您使用HTTP来访问远程,那么Git会在执行需要身份验证的操作时从凭证助手请求凭据。如果找不到凭证助手,它将返回到 IDE 的提示。如果您已配置密码策略,IntelliJ IDEA将在密码数据库中查找凭据。如果没有密码数据库,它会显示一个提示,您必须输入你的登录名和密码。

如果远程使用SSH协议,除了配置密码策略外,您还可以选择是否要使用本机或内置的 ssh 可执行文件。为此,请在"设置/首选项"对话框(Ctrl+Alt+S)中选择版本控制| Git。从"SSH 可执行文件"下拉列表中,选择以下选项之一:

  • 内置:所有授权都在IDE端执行。
    • 如果使用登录名和密码进行验证,则根据所选的密码策略执行授权。
    • 如果没有使用密码的SSH密钥用于身份验证,IntelliJ IDEA将访问该~/.ssh/config文件并从那里获取密钥。
    • 如果身份验证需要带有密码的SSH密钥,Git会在凭证助手中查找它,如果找不到凭证助手,它会向IDE返回提示。如果您已配置了密码策略,IntelliJ IDEA将在密码数据库中查找凭据。如果没有密码数据库,则会显示提示,并且必须输入SSH密钥和密码。
  • 本机:所有授权在Git端执行。将不会显示任何提示,因此如果使用不带密码的SSH,或者密码保存在凭证助手中,或者存在SSH代理,请选择此授权类型。

配置密码策略

  1. 在设置对话框(Ctrl+Alt+S)中,选择:外观和行为| 系统设置| 密码。
  2. 选择您希望IntelliJ IDEA如何处理Git远程存储库的密码:
    • 在本机秘钥中:选择此选项以使用本机秘钥来存储您的密码。此设置仅适用于MacOS和Linux。
    • 在KeePass中:选择此选项以使用KeePass密码管理器来存储您的密码。当您使用KeePass密码管理器时,将使用主密码来访问存储个人密码的文件。一旦IntelliJ IDEA记住你的密码,它不会要求他们,除非您需要访问密码数据库。输入将用于访问MasterPassword字段中的c.kdbx文件的密码。您可以在“ 数据库”字段中更改c.kdbx文件的默认位置。要导入c.kdbx文件,请单击 并从下拉菜单中选择“ 导入 ”,或者单击 并指定包含密码的本地文件的路径。如果要从数据库中删除现有密码,请选择“清除”。
    • 不要保存,重新启动后忘记密码:如果希望在关闭IntelliJ IDEA后重置密码,请选择此选项。
IntelliJ IDEA创建补丁程序
如何在IDEA设置一个Git仓库
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }