记录一些命令的使用场景。
场景 1
想在自己的开发分支上获取另一个开发分支的某个特定提交,可以使用 git cherry-pick 命令。以下是具体步骤:
1、查看目标提交的哈希值
首先切换到包含目标提交的分支,使用 git log 查看提交历史并记录目标提交的哈希值。
1 | git checkout 目标分支 |
2、切换回自己的开发分支
1 | git checkout 自己的开发分支 |
3、执行 cherry-pick
使用目标提交的哈希值将其应用到当前分支:
1 | git cherry-pick <目标提交的哈希值> |
需要连续多个目标提交时:
1 | git cherry-pick <起始哈希值>..<结束哈希值> |
4、处理冲突(如有)
若发生冲突,手动解决后执行以下命令继续:
1 | git cherry-pick --continue |
或取消:
1 | git cherry-pick --abort |
5、推送更改(可选)
完成后可推送到远程仓库。
1 | git push origin 开发分支对应的远程分支 |
场景 2
更新代码时报如下错误:
1 | remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead. |
说明 GitHub 不再支持用密码的方式验证,而是需要创建个人访问令牌。解决办法:
1、生成令牌
登录 GitHub 后点击 Settings => 点击左侧的 Developer settings => 点击 Personal access tokens => 点击 Generate new token => 设置 token 信息(过期时间根据实际情况选择,Scopes 选项全部勾上,自己用的不用想那么多) => 点击 Generate token 生成令牌,一定要记得复制,再进来就看不到了。
2、应用令牌
修改当前项目的远程仓库地址:
1 | git remote set-url origin https://<YOUR_TOKEN>@github.com/<USERNAME>/<REPO_NAME>.git |
然后重新执行命令,世界又恢复原样了。
对于新项目,克隆的时候也在前面加个令牌就好了:
1 | git clone https://<YOUR_TOKEN>@github.com/<USERNAME>/<REPO_NAME>.git |