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

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

相关推荐
Eternity.,9 小时前
【Git原理与使用一】Git概念与基本操作
linux·git
随机惯性粒子群9 小时前
wheel_legged_genesis 开源项目复现与问题记录
学习·开源·github·强化学习·genesis
Toady 元气满满10 小时前
下载魔塔社区模型文件
人工智能·git·ai
川石课堂软件测试11 小时前
涨薪技术|持续集成Git使用详解
开发语言·javascript·git·python·功能测试·ci/cd·单元测试
摩尔多012 小时前
git修改本地用户名和邮箱和凭据
git
G.Chenhui12 小时前
【Git】Ubuntu 安装 Git Large File Storage(LFS)以及使用 Git LFS 下载
linux·git·ubuntu
事业运财运爆棚18 小时前
Github 仓库 git clone 速度过慢解决方案
github
reduceanxiety18 小时前
如何在Github上面上传本地文件夹
github
然子而19 小时前
苍穹外卖学习笔记(跳过微信支付)
java·spring boot·git·学习·mysql·maven·mybatis