【转】Git记住密码 - Http方式

软件测试技术交流群 :

1、QQ交流群:群号 429183023

2、添加JeongJinWin,或者扫描头像二维码



原文:http://www.cnblogs.com/ballwql/p/3462104.html

    我是采用的第一种方式,屡试不爽

 

正文:

前言

    在大家使用github的过程中,一定会碰到这样一种情况,就是每次要push 和pull时总是要输入github的账号和密码,这样不仅浪费了大量的时间且降低了工作效率。在此背景下,本文在网上找了两种方法来避免这种状况,这些成果也是先人提出来的,在此只是做个总结。

1.方法一 

1.1 创建文件存储GIT用户名和密码

在%HOME%目录中,一般为C:\users\Administrator,也可以是你自己创建的系统用户名目录,反正都在C:\users\中。文件名为.git-credentials,由于在Window中不允许直接创建以"."开头的文件,所以需要借助git bash进行,打开git bash客户端,进行%HOME%目录,然后用touch创建文件 .git-credentials, 用vim编辑此文件,输入内容格式:

touch .git-credentials

vim .git-credentials

https://{username}:{password}@github.com(@github.com可以替换成你自己公司内部的git服务域名)

1.2 添加Git Config 内容

进入git bash终端, 输入如下命令:

git config --global credential.helper store

执行完后查看%HOME%目录下的.gitconfig文件,会多了一项:

[credential]

    helper = store

重新开启git bash会发现git push时不用再输入用户名和密码

 

 

2.方法二

 

2.1 添加环境变量

在windows中添加一个HOME环境变量,变量名:HOME,变量值:%USERPROFILE%

 

2.2 创建git用户名和密码存储文件

进入%HOME%目录,新建一个名为"_netrc"的文件,文件中内容格式如下:

machine {git account name}.github.com
login your-usernmae
password your-password

重新打开git bash即可,无需再输入用户名和密码

 

你输入的命令: ```bash git log --online -2 ``` 这个命令存在拼写错误,**正确的选项是 `--oneline` 而不是 `--online`**。我们来详细解释这个问题,并给出正确用法和解决方案。 --- ## ✅ 正确命令:`git log --oneline -2` ### 🔹 功能说明: 显示最近 2 次提交记录,每条提交压缩成一行简洁输出(哈希前缀 + 提交信息)。 ```bash git log --oneline -2 ``` ### 🖨️ 输出示例: ```text a1b2c3d Add new feature X e4f5g6h Fix bug in login module ``` 其中: - `a1b2c3d` 是 commit hash 的简短形式 - 后面是提交消息的第一行 --- ## ❌ 错误分析:`--online` 是无效参数 当你运行: ```bash git log --online -2 ``` Git 会报错或提示未知选项,例如: ```text error: unknown option `online` usage: git log [<options>] ... [<revision-range>] [[--] <path>...] ``` 👉 原因:`--online` 并不是一个合法的 Git 参数。这是对 `--oneline` 的拼写错误。 --- ## ✅ `--oneline` 的作用详解 | 特性 | 说明 | |------|------| | 格式化输出 | 每个提交只占一行,便于快速浏览 | | 简化哈希 | 使用前 7 位短哈希代替完整 40 位 SHA-1 | | 包含信息 | `hash` + `commit message`(第一行) | 等价于: ```bash git log --pretty=oneline --abbrev-commit -n 2 ``` ### 可组合使用其他参数: ```bash # 显示分支图 + oneline git log --oneline --graph -5 # 查看某文件的历史 git log --oneline -2 path/to/file.txt # 查看某个作者的提交 git log --oneline -2 --author="John" ``` --- ## ✅ 清除“记忆”?Git 是否记住历史? 你说“把这个记忆清除”,但需要明确: > 🔴 **`git log` 不保存缓存或状态**,它只是读取本地 `.git/objects` 中已有的提交历史。 所以: - `git log` 没有“记忆”可以清除 - 每次运行都是从磁盘读取真实数据 - 输出结果一致是因为提交历史没变 --- ## ⚠️ 如果你想“清除某些提交的记忆”——即删除历史 那你是在想 **修改 Git 提交历史**,比如: ### 场景 1:删除最近两次提交(保留更改) ```bash git reset HEAD~2 ``` > 这会让那两个提交从历史中消失(但工作区内容还在) ### 场景 2:彻底删除并强制推送(危险!) ```bash git reset --hard HEAD~2 # 彻底删除本地最后两笔提交 git push --force # 强制推送到远程(破坏他人历史) ``` ⚠️ 注意:这会影响团队协作,仅用于私有分支。 --- ### 场景 3:从历史中永久删除敏感信息(如密码) 使用专用工具: ```bash # 安装 BFG Repo-Cleaner 或使用 filter-branch git filter-branch --force --tree-filter 'rm -f secrets.txt' HEAD ``` 或者更现代的方式: ```bash git rebase -i HEAD~5 # 交互式变基,删除特定提交 ``` --- ## ✅ 总结:关于 `git log --oneline -2` ```bash git log --oneline -2 ``` ✅ 正确功能: - 展示最新的两个提交,简洁明了 - 不产生任何缓存,“无记忆”可言 - 每次运行都反映当前分支的真实历史 ❌ 常见错误: - 写成 `--online` → 报错 - 以为能“清除记忆” → 实际上 Git 历史是持久存储的 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值