前言;尽管使用git进行代码版本的管理已经很长时间了,但是很多场景,在正常使用或者一个人玩时是很难体验到各种问题的, 这里也就随便记录一些平时工作中用的不多的命令,但是在遇到问题时排查需要用到的命令,同时会记录一些遇到的问题以及解决方法。
#查看远程git地址
git remote -v
#修改远程git地址
git remote set-url origin git地址
#git升级更新
git update-git-for-windows
Mac平台:git的安装路径
which git
Windows平台:git的安装路径
where git
#修改提交缓存大小为500M,或者更大的数字
git config --global http.postBuffer 524288000
#.gitconfig 配置文件中的内容
[http]
postBuffer = 524288000
报错:fatal: refusing to merge unrelated histories;
(将本地代码指定远程地址,进行拉取,会报该错误,这是版本不同导致的,他们各自具有不同的提交历史)
#解决方法;
git pull origin master --allow-unrelated-histories
#查看账号,邮箱
git config user.name
git config user.email
#修改用户名和邮箱地址
git config --global user.name "xxxx"
git config --global user.email "xxxx"
#还原代码至某个版本(如果不加版本号,默认恢复上一个版本)
git reset --hard 版本号
pull、push提交时不用输账号、密码
#命令
git config credential.helper store
#会在项目.git/config文件中生成配置:
[creadential]
helper = store
# 带--global 的话是全局设置,会在~/.gitconfig文件中生成上述配置
原理:在~/.git-credentials文件中记录了,用户每个远程的账号和密码;
credential.helper store
也就是指定要访问的账号和 密码;所以可以通过--file ~/git-credentials
来指定访问存放账号和密码文件;
注意:第一次提交时可能需要输入账号密码,之后就不需要了;
报错:RPC failed; HTTP 403 curl 22 The requested URL returned error: 403
- 这是因为没有权限导致的;在确定权限配置没有问题的情况下,可能是本地存放git远程账号密码的文件(~/.git-credentials)中对同一ip地址存在多条记录,导致的权限读取问题;(这种情况往往发生在用了某个已离职员工的电脑)
- 需要到控制台中进入
凭证管理器
->windows凭据
将之前的指向同一地址的凭证给删掉;再次push时需要输入账号和密码用于生成新的凭据