【Git】 github 使用token

remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/1211884772/QPHPRPC.git/'

你原先的密码凭证从2021年8月13日开始就不能用了,必须使用个人访问令牌(personal access token),就是把你的密码替换成token!

1、如何生成密钥
(1)在个人设置页面,找到Setting(参考)

(2)选择开发者设置Developer setting

(3)选择个人访问令牌Personal access tokens,然后选中生成令牌Generate new token

(4)设置token的有效期,访问权限等

选择要授予此令牌token的范围或权限。

要使用token从命令行访问仓库,请选择repo。
要使用token从命令行删除仓库,请选择delete_repo
其他根据需要进行勾选
(5)生成令牌Generate token

注意:

记得把你的token保存下来,因为你再次刷新网页的时候,你已经没有办法看到它了

(6)之后用自己生成的token登录,把上面生成的token粘贴到输入密码的位置,然后成功push代码!

也可以 把token直接添加远程仓库链接中,这样就可以避免同一个仓库每次提交代码都要输入token了:

git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git

<your_token>:换成你自己得到的token
:是你自己github的用户名
:是你的仓库名称

1.git 经验:

1.1.git 删除所有版本控制中的某文件

文件路径-绝对地址:application/admin/Log/202207/07_exception.log

git filter-branch --force --index-filter "git rm --cached --ignore-unmatch application/admin/Log/202207/07_exception.log" --prune-empty --tag-name-filter cat --

在执行提交

git push origin --force --all

1 概述
2020年10月1往后,Github会将全部新建的仓库的默认分支从master修改成main,这就致使了一些旧仓库主分支是master,新仓库主分支是main的问题,这在有时候会带来一些麻烦,所以这里提供一种方案将旧仓库的master分支迁移到main分支。git

2 具体步骤
四步:bash

克隆原仓库
建立并推送main分支
修改默认分支
删除master分支
2.1 克隆
首先克隆一份原仓库到本地进行操做:测试

git clone xxxxxxx.git
2.2 建立并推送main
建立并切换到main:spa

git checkout -b main
推送main:code

git push origin main


Git------git 报错 fatal: No such remote ‘origin‘ 的解决方法

解决方法:

  1. 在本地运行 git remote -v,没有显示任何地址,需要添加,而不是修改。运行:

$ git remote add origin 远程url
2. 查看 remote,可以看到 fetch 和 push 的链接:

$ git remote -v
origin 刚才添加的远程url (fetch)
origin 刚才添加的远程url (push)
3. 运行 push 命令,将本地代码推送上去服务端:

$ git push --set-upstream origin master
或者简写:
$ git push -u origin master


报错:fatal: refusing to merge unrelated histories

一. 问题描述
本地仓库在想做同步远程仓库到本地为之后本地仓库推送到远程仓库做准备时报错了,错误如下:

fatal: refusing to merge unrelated histories
(拒绝合并不相关的历史)

二. 问题出现的原因
我的项目调整历程:开始直接clone远程仓库到本地,由于仓库命名不规范,又新建了一个仓库;把本地git仓库地址修改成了新改仓库地址,发现不能pull,报fatal: refusing to merge unrelated histories。

出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如是直接clone的方式,在本地建立起远程github仓库的克隆,本地仓库就不会有这问题了。

三. 解决方法
发现可以在pull命令后紧接着使用–allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)。

git pull origin master --allow-unrelated-histories


删除远程分支: git push origin --delete [branchname]

//本地分支操作
git checkout master 先切换到主分支
git branch -d 需要删除本地的分支名
git checkout -b 分支名 origin/分支名 创建本地分支

然后我们把dev分支的代码合并到main上
git merge dev
方式二:使用git命令

1、查看一下所有分支,假设当前分支是dev
git branch -a

2、拉取代码,并提交本地dev分支上的代码到远程dev分支

(1)git pull --rebase
(2)git push

3、切换到prd分支

git checkout prd

4、合并dev分支到prd

git merge dev

5、提交到远程prd分支

git push


完美解决:error: failed to push some refs to ‘https://github.com/xxxx.git’
1.强制push本地仓库到远程 (这种情况不会进行merge, 强制push后远程文件可能会丢失)
$ git push -u origin master -f

  1. 避开解决冲突, 将本地文件暂时提交到远程新建的分支中,创建完branch后, 再进行push。
    $ git branch [name]
    $ git push -u origin [name]

个人推荐使用:
git push -u origin master -f
简单粗暴且有效!缺点就是强制push后远程文件可能会丢失😄

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mumu_wangwei

主修"红尘道--红尘练心"

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值