git按照tag拉取代码_Git实操小课堂

8488beb1362d300e7d2b0a1c4830c48f.png

平时也多是使用 IDEA 自带的 Git 插件,简单又方便,不需要理解 Git 背后的技术,最近突然让我在 VsCode 上更新提交代码,发现又需要学习 VsCode 的插件使用,思量一番后,决定好好学习一下 Git 命令的使用。由于工作需要,对于 Git 的使用又有了新的要求,之前简单的 push、pull 命令已经无法满足平常的使用,因此专门找了个网站实操了一遍,同时将相关内容整理成文档,供后续翻看。

Git基本操作

以下操作来源:https://learngitbranching.js.org/?locale=zh_CN

commit提交

d49aac5c0a0576fb0b322ee10f17ef6e.png
git commit

Git 仓库中的提交记录保存的是你的目录下所有文件的快照,就像是把整个目录复制,然后再粘贴一样,但比复制粘贴优雅许多!

有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的 commit message 的描述有误,这时候你可以使用接下来的这个命令:git commit --amend。

查看如下案例:

e2d60a482631d2fd73ac9fe4207531fc.png
$ git checkout master
$ git cherry-pick C2
$ git commit --amend
$ git cherry-pick C3

branch创建分支

git branch newBranchName

创建分支后,然后切换到当前新分支下。

git checkout newBranchName

如果你想创建一个新的分支同时切换到新创建的分支的话,可以通过 git checkout -b 来实现。

git checkout -b newBranchName

查看远程分支

git branch -r

拉取远程分支并创建本地分支

git checkout -b 本地分支名x origin/远程分支名x

使用该方式会在本地新建分支x,并自动切换到该本地分支x。采用此种方法建立的本地分支会和远程分支建立映射关系。

git fetch origin 远程分支名x:本地分支名x

使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动 checkout。采用此种方法建立的本地分支不会和远程分支建立映射关系。

checkout检出/切换分支

将指定版本/tag/分支的代码检出,如果当前存在未提交的代码禁止做此操作

merge合并

合并两个分支,存在冲突时,能自动合并的会自动合并,不能自动合并的会产生冲突,需要人工处 理。解决冲突的时候,只需要处理冲突的文件,当前工作目录会存在大量提交的文件,不要去还原这些文件,不要去还原这些文件,不要去还原这些文件

// 创建bugFix新分支,并切换到该分支
git checkout -b bugFix;
//加入做了修改,然后提交
git commit
//切换到master分支,然后做修改并提交
git checkout master
git commit
//将bugFix分支的内容合并到master
git merge bugFix

分离Head

11c849ac1f3b82d6f1749f44273d2dc4.png

目标: 从 bugFix 分支中分离出 HEAD 并让其指向一个提交记录。

f70cf5eab13722eca5162b0c2c6ca0fd.png

执行下述命令:

git checkout master
git checkout C4

移动

46e2fab89c8bf4d23ec95a5dd91f69bd.png
// 切换分支到C2的父节点C1
git checkout C2^

上述 ^ 命令一次只能移动一个位置,比较缓慢。接下来我们学习一个新命令。

cd424a4c548cc813dcf6503751fd0711.png

移动分支可以直接使用 -f 选项让分支指向另一个提交。例如:

git branch -f master HEAD~3

上面的命令会将 master 分支强制指向 HEAD 的第 3 级父提交。

如何将下图中右边的分支修改成左边的样式:

d173ad6f613ee205d6dc24dc62866196.png
$ git checkout HEAD^
$ git branch -f bugFix HEAD^
$ git branch -f master C6

^ 和 ~ 的组合操作

2a45078206396f6a9a6f701da190a456.png

上述三条命令可以简化为下面一条命令。

3532bbec315a64686e91d56d9c115ccb.png

作业:

ae359aada31ce1936ae016213a4595de.png
git branch bugWork HEAD~^2~
或者
git branch -f bugWork

撤销变更<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值