github的使用

1.如何将代码会滚到某个提交之前

在GitHub上将代码回滚到之前的版本,可以通过Git命令行实现。以下是几种常用的方法来实现回滚:

方法一:使用 git revert

git revert 会生成一个新的提交,这个提交会撤销之前的某个提交的更改。这样你的提交历史是完整的,能够保留所有更改记录。

  1. 找到你要回滚到的提交ID

    git log

  2. 使用 git revert 撤销到指定的提交:

    git revert <commit_id>

    这会生成一个新的提交来撤销指定的提交。

方法二:使用 git reset

git reset 可以将分支重置到某个特定的提交。注意,git reset 有三种模式:--soft--mixed--hard

  • --soft:只移动 HEAD,不改变暂存区和工作目录。
  • --mixed:移动 HEAD 和暂存区,不改变工作目录。
  • --hard:移动 HEAD、暂存区和工作目录(完全回滚)。
使用 --hard 模式重置:
  1. 找到你要回滚到的提交ID:

    git log

  2. 制代码

    git reset --hard <commit_id>

  3. 强制推送更改到远程仓库(这会覆盖远程仓库的历史):

    git push origin master --force

    注意: 使用 --force 选项时要非常小心,因为这会覆盖远程仓库的历史,可能会影响其他协作开发者。

方法三:使用 git checkoutgit commit

如果你想将工作目录回滚到某个特定提交并生成一个新的提交:

  1. 找到你要回滚到的提交ID:

    git log

  2. 使用 git checkout 检出到指定的提交:

    git checkout <commit_id>

  3. 创建一个新的分支(可选):

    git checkout -b new-branch

  4. 将当前状态提交为一个新的提交:

    git commit -m "Revert to previous commit"

  5. 推送到远程仓库:

    git push origin new-branch

方法四:使用GitHub界面创建回滚PR

  1. 在GitHub仓库的"Commits"页面找到你想回滚到的提交。

  2. 点击提交的哈希值,进入提交详情页面。

  3. 点击 "Browse files" 查看该提交的文件状态。

  4. 点击 "Create new branch" 创建一个新的分支基于这个提交。(或者在"find or create a branch" 框里直接输入一个新名字如03,回车,就会自动新建一个 03 分支,该分支就能包括该提交节点上之前的所有内容了)

  5. 在新分支上进行必要的更改,然后创建一个Pull Request,将新分支合并到主分支。试了这种直接合并方式不行,会提示"There isn't anything to compare. main is up to date with all commits from 03 . Try switching the base for your comparison."

    解决:将仓库先克隆到本地,把分支03的内容也拉取到本地,在本地把内容复制到main,然后再提交,推送到github。

    因为对于github基于谁建立分支,各种关系还不太理解,就先用这种麻烦点的方式。

    补充:创建分支的时候,会显示该分支来自于哪里。

通过这些方法,你可以将代码回滚到之前的版本。如果你在任何一步遇到问题或需要进一步的帮助,请随时告诉我!

----方法一二三都没有试过,方法四试过可以。

2. tortoisegit小乌龟切换分支

从右键菜单可以看出当前分支。

  1. 创建和切换本地分支

可以使用"切换/检出"命令

切换/检出 窗口

前面带remote的是远端分支,例如选择"remotes/origin/0708"后,因为本地有该分支,会自动一个本地分支"0708",

创建完成后,就可以切换本地分支了。

  1. 克隆仓库后,远端新建分支,

需要用到同步功能,找到"更新远端",即可

相关推荐
OpenTiny社区1 小时前
【直播分享】GenUI SDK 技术公开课第二讲 | GenuiChat 核心配置深度解析
前端·github
dong_junshuai2 小时前
每天一个开源项目#93 HyperFrames:4.69万星的 HTML 视频渲染框架
开源·html·github
峰向AI2 小时前
别再忍受杂乱的桌面了,这款窗口管理器让 Windows 也有平铺式操作
github
妙码生花2 小时前
使用git更新ai-go-admin框架
前端·人工智能·git·golang·typescript·php
朝阳5814 小时前
如何用 AI 自动生成规范的 Git 提交信息:从暂存区 diff 到 Conventional Commit
人工智能·git
hudawei9964 小时前
有未保存的修改,不能切换分支
git·git stash·stash
cnnews4 小时前
Ubuntu 编译 postmarketOS
linux·运维·arm开发·ubuntu·github·音视频
康一夏4 小时前
Git Commit 规范实践:Angular Commit 规范 + Commitlint 自动化验证
git·自动化·commit msg·commit规范
逛逛GitHub6 小时前
把最新开源的 2B 端侧模型接入 DeepSeek Harness,有点子神奇。
github
Boop_wu7 小时前
[redis] redis 快速入门
数据库·redis·github