我最近从1.8.1
将我的本地Git安装更新为1.8.0.1
。
我注意到,当我在GitHub上工作时,它不会在推送时提示我输入用户名和密码。
这让我很烦恼,因为我认为每次都要输入用户名和密码作为一个很好的安全措施。 (如果其他人使用我的电脑怎么办?)
我检查了以下内容:
1.8.0.1
仍然要求输入用户名和密码。~/.ssh
fonder。没错。~/.gitconfig
或单个<proj>/.git/config
文件中。~/.netrc
中存储与github相关的任何内容。我无法在git release notes archive中找到任何内容。
有谁知道这是一个新的git行为吗?如何恢复提示?
答案 0 :(得分:75)
使用git命令添加-v标志。例如
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="it.bsdsoftware.cnabologna.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<permission
android:name="it.bsdsoftware.cnabologna.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<application>
...
<service android:name=".notifiche.RegistrationIntentService"
android:exported="false" >
</service>
<service android:name=".notifiche.MyGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
</intent-filter>
</service>
<service android:name=".notifiche.MyInstanceIDListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<receiver android:name=".notifiche.GcmBroadcastReceiver"
android:exported="true"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<!-- Receives the actual messages. -->
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.GCM_RECEIVED_ACTION"/>
<category android:name="it.bsdsoftware.cnabologna" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
</intent-filter>
</receiver>
</application>
代表验证。
答案 1 :(得分:13)
使用
git config -l
,我现在看到我有一个credential.helper=osxkeychain
选项
这意味着 credential helper (最初在1.7.10中引入)现已生效,并将自动缓存通过HTTP访问远程存储库的密码。
(如“GIT: Any way to set default login credentials?”)
您可以完全停用该选项,或only for a single repo。
答案 2 :(得分:4)
由于问题标有Github
,因此添加https_origin
之类的其他遥控器并添加https
连接会强制您始终输入密码:
git remote add https_origin https://github.com/.../...
答案 3 :(得分:3)
这些都不适合我。我正在尝试从私有git服务器克隆目录,并输入我的凭据为false,然后它不允许我在后续尝试中尝试不同的凭据,它只是立即因身份验证错误而出错。
这样做是在URL中指定用户名(mike-wise
),如下所示:
git clone https://mike-wise@collab.somewhere.net/someuser/somerepo.git
答案 4 :(得分:3)
这很可能是因为您有多个帐户,例如一个私人帐户,一个可以与GigHub一起使用。
解决方案 在Windows 上,转到“开始”>“凭据管理器”>“ Windows凭据”并删除github凭据,然后再次尝试拉动或推入,系统将提示您重新登录到Gighub
解决方案 在Mac 上,在终端上发出以下消息:
git remote set-url origin https://username@github.com/username/repo-name.git
在两个地方都用您的GigHub用户名替换“用户名”,并提供您的github存储库名称。
答案 5 :(得分:1)
第三个答案之外: 如果您使用的是非英语Windows,则可以通过“控制面板”>“用户帐户”>“凭据管理器”找到“凭据管理器” Icon of Credentials Manager