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. 克隆仓库后,远端新建分支,

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

相关推荐
paishishaba17 小时前
Git常用命令大全及提交推送详解
git
逛逛GitHub18 小时前
1 天狂揽 4000 多 Star 的 AI 舆情分析开源神器。
github
卡洛斯(编程版19 小时前
大仓库推到GitHub大踩坑-Git LFS从安装到使用
git·github
玥轩_52119 小时前
Git命令速查手册
大数据·git·elasticsearch·gitee·github·命令速查
吃饺子不吃馅20 小时前
⚡️ Zustand 撤销重做利器:Zundo 实现原理深度解析
前端·javascript·github
whysqwhw20 小时前
KMP类GSON转字符串工具
github
CoderJia程序员甲21 小时前
GitHub 热榜项目 - 日榜(2025-11-06)
ai·开源·大模型·github·ai教程
诸葛思颖1 天前
把本地 Python 项目用 Git 进行版本控制并推送到 GitHub
git·python·github
chhanz1 天前
git/github入门基操(终端版)
git·github
林晓lx2 天前
使用Git钩子+ husky + lint语法检查提高前端项目代码质量
前端·git·gitlab·源代码管理