git 命令记录

基础篇:
分支提交 执行两次即可 git commit
创建分支 mian* git branch <branch_name>
查询分支git checkout <branch_name> 新版本为 : git switch <branch_name> git commit
创建一个新的分支同时切换到新创建的分支 git checkout -b <your-branch-name>
分支与合并:
在这里插入图片描述
第二种合并分支的方法是 git rebase。Rebase 实际上就是取出一系列的提交记录,“复制”它们,然后在另外一个地方逐个的放下去。Rebase 的优势就是可以创造更线性的提交历史,这听上去有些难以理解。如果只允许使用 Rebase 的话,代码库的提交历史将会变得异常清晰。
在这里插入图片描述
在这里插入图片描述
高级篇:
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
在这里插入图片描述
在这里插入图片描述
相对引用^
在这里插入图片描述

在这里插入图片描述
“~”操作符
如果你想在提交树中向上移动很多步的话,敲那么多 ^ 貌似也挺烦人的,Git 当然也考虑到了这一点,于是又引入了操作符 ~。
该操作符后面可以跟一个数字(可选,不跟数字时与 ^ 相同,向上移动一次),指定向上移动多少次。咱们还是通过实际操作看一下吧
相对引用最多的就是移动分支。可以直接使用 -f 选项让分支指向另一个提交。例如:

git branch -f main HEAD~3

上面的命令会将 main 分支强制指向 HEAD 的第 3 级父提交。
git checkout 搭配使用

Git Reset
git reset 通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset 向上移动分支,原来指向的提交记录就跟从来没有提交过一样。

git  reseat HEAD~1

在这里插入图片描述
在这里插入图片描述

Git 把 main 分支移回到 C1;现在我们的本地代码库根本就不知道有 C2 这个提交了。
(译者注:在reset后, C2 所做的变更还在,但是处于未加入暂存区状态。)

git revert
但是这种“改写历史”的方法对大家一起使用的远程分支是无效的哦!
在这里插入图片描述

git cherry-pick <提交号>...

将一些提交复制到当前所在的位置(HEAD)下面的话, Cherry-pick 是最直接的方式了。
在这里插入图片描述
交互式的 rebase
从一系列的提交记录中找到想要的记录。指的是使用带参数 --interactive 的 rebase 命令, 简写为 -i
如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。
在实际使用时,所谓的 UI 窗口一般会在文本编辑器 —— 如 Vim —— 中打开一个文件。

git  rebase -i main  HEAD~1

git commit amend  修改分离

在这里插入图片描述
在这里插入图片描述
git tag
git 的 tag 就是干这个用的啊,它们可以(在某种程度上 —— 因为标签可以被删除后重新在另外一个位置创建同名的标签)永久地将某个特定的提交命名为里程碑,然后就可以像分支一样引用了。
更难得的是,它们并不会随着新的提交而移动。你也不能切换到某个标签上面进行修改提交,它就像是提交树上的一个锚点,标识了某个特定的位置。
在这里插入图片描述
Git Describe
用来描述离你最近的锚点(也就是标签).
Git Describe 能帮你在提交历史中移动了多次以后找到方向;当你用 git bisect(一个查找产生 Bug 的提交记录的指令)找到某个提交记录时,或者是当你坐在你那刚刚度假回来的同事的电脑前时, 可能会用到这个命令.
在这里插入图片描述
在这里插入图片描述
下面两幅图效果一样
~ ^
在这里插入图片描述
在这里插入图片描述
Git Clone
远程仓库的拷贝
在这里插入图片描述
远程分支
在这里插入图片描述
在这里插入图片描述
Git Fetch
从远程仓库获取数据
在这里插入图片描述
在这里插入图片描述
Git Pull
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
git pull 相反的命令是什么呢?git push
git push 负责将你的变更上传到指定的远程仓库,并在远程仓库上合并你的新提交记录。一旦 git push 完成, 你的朋友们就可以从这个远程仓库下载你分享的成果了!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
git pull 就是 fetch 和 merge 的简写,类似的 git pull --rebase 就是 fetch 和 rebase 的简写!
![p![us
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值