这次面试技术问题都回答得不错,但是倒在了git上。主体只有一个,git保存用户密码。

Windows上如何删除Git保存的密码

  这个问题,网上的博文都只对了一部分。面试回来后,我在自己电脑上操作了一下,发现了只有部分密码保存在Windows的凭证管理器。我按照步骤打开了我的控制面板,如下图:
在这里插入图片描述
  点击User Accounts。进入下一步:
在这里插入图片描述
  点击Manage Windows Credential。进入第三步:
在这里插入图片描述
  默认打开的是Web Credentials,git密码保存在Windows Credentials里。
在这里插入图片描述
  但是我在coding.net保存的密码不是存在这里。
  我的密码保存在$USER_HOME/.git-credentials文件中。如下图:
在这里插入图片描述
  这是由什么决定的呢?后来广泛查询了相关资料。由配置决定的,我的配置是:

PS F:\learn\data-structure\trees> git config --get --global credential.helper
store
PS F:\learn\data-structure\trees> git config --get --system credential.helper
store
PS F:\learn\data-structure\trees> git config --get --local credential.helper
store

  credential.helper主要可以配置三种manager或manager-core、store、cache。manager或manager-core使用Windows自带的凭证管理器,store使用明文直接存储在文件中,而cache是限时的缓存,一段时间后会自动清理。所以这简单的面试题,实际上考的是对git底层的理解。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐