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

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

相关推荐
蓁蓁啊5 分钟前
GIT使用SSH 多账户配置
运维·git·ssh
相与还5 小时前
IDEA和GIT实现cherry pick拣选部分变更到新分支
git·elasticsearch·intellij-idea
Moonbit9 小时前
月报 Vol.04 : 新增 async test 与 async fn main 语法,新增 lexmatch 表达式
后端·github·编程语言
逛逛GitHub10 小时前
发现 4 个贼好玩的 GitHub 项目,相当给劲儿。
github
悟能不能悟12 小时前
用cmd命令修改适配器ip
网络·tcp/ip·github
刘志辉12 小时前
git指令
git
whysqwhw12 小时前
kuiklyui core-ksp ios
github
whysqwhw12 小时前
kuiklyui core-ksp 鸿蒙
github
CoderJia程序员甲13 小时前
GitHub 热榜项目 - 日榜(2025-10-12)
ai·github·开源项目·github热榜
whysqwhw13 小时前
kuikly core-ksp 安卓
github