研发中学习git(删除分支/合并提交/回滚/保存当前状态/撤销修改)

发布于:2022-12-28 ⋅ 阅读:(555) ⋅ 点赞:(0)

git基本组成框架:Workspace、Index / Stage、Repository、Remote

Workspace:开发者工作区
Index / Stage:暂存区/缓存区
Repository:仓库区(或本地仓库)
Remote:远程仓库

在这里插入图片描述

在这里插入图片描述

git删除分支

删除远程分支:
git push origin --delete [branch_name]
删除本地分支:
git branch -d 会在删除前检查merge状态(其与上游分支或者与head)。
git branch -D 是git branch --delete --force的简写,它会直接删除。
查看远程分支:
git branch -r
查看本地分支:
git branch
查看全部:
git branch -a

将多次提交合并成一次提交再请求合并

查看历史提交记录:git log
里面有提交每次的版本号,以及当时提交对应的注释。

rebase用法链接

作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴
合并提交
git rebase begin end 前开后闭区间
git rebase -i HEAD~3
然后对于三个版本号 进行修改前面的指令类型。

pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)

然后跳转到注释修改界面。
将一段commit粘贴到另一个分支

  git rebase   [startpoint]   [endpoint]  --onto  [branchName]

前开后闭区间同上,加对应的分支名
复制过去后,此时 增加了一段commit的头指针还没有更新到最新位置。
切换到当前分支,然后将指向的提交id设为当前head指向的提交id
eg:
在这里插入图片描述
在这里插入图片描述

      git  rebase   90bc0045b^   5de0da9f2   --onto master
      git checkout master
      git reset --hard  0c72e64

回滚代码仓库:

git reset 不加参数 重置后取消暂存区的变更
git reset 加三种参数 加id
(–soft 将头指针恢复? 已经add的暂存区以及工作区的所有东西都不变
–mixed将头恢复?已经add的暂存区也会丢失,工作区的代码不变
–hard一切恢复,头变,add的暂存区消失,代码都恢复到之前状态)
git reset --hard HEAD^ 是迭代当前仓库的上一个版本
git reset --hard HEAD~3回滚前三个版本
(git 合并提交 合并多了 解决办法:
git reset --hard 版本号)
git add .git add -all一样 但是前一个命令不会记录删除操作。
比如本地删除一个文件,提交的时候会记录删除操作,提交仓库时会删除同样的文件。

git保存当前工作状态切换分支:git stash

stash这个保存是以栈的方式保存的,先进后出。

将文件撤销回到最近一次修改的状态:git checkout – file

git里的各种撤销

查看git配置文件

ls -ah查看隐藏目录 .git

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到