欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 美景 > github的使用

github的使用

2024/11/30 8:39:12 来源:https://blog.csdn.net/code_snow/article/details/140260891  浏览:    关键词: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”,

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

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

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com