2024年大数据最全利用GIT实现高效版本控制,2024年最新金三银四大数据开发高级工程师面试题整理

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

创建了本地仓库,git才能对我们的项目进行管理

2.添加和提交更改
  • **git add[filename]**:将更改添加到暂存区。
  • **git add .**:将当前目录中的所有更改添加到临时区域。在这里插入图片描述
  • **git status**:查看工作目录和暂存区的状态。在这里插入图片描述
  • **git commit -m "[commit message]"**:使用描述性消息提交阶段性更改。

在这里插入图片描述

这个时候再查看工作目录和暂存区的状态就是这个样子:

在这里插入图片描述

显示工作区被清空。

3.分支管理

很多时候我们在修改项目内容的时候,若是直接修改了一点就提交,到后面发现这些修改又没有必要了的话,我们就要对版本进行回退操作(这个稍后再讲),非常麻烦,为了应对这种情况,分支管理操作显得非常重要!

  • **git branch**:列出仓库中的所有分支。

在这里插入图片描述

  • **git branch [branch name]**:使用指定的名称创建一个新的分支。
  • **git checkout [branch name]**:切换到指定的分支。
  • **git checkout -b [branch name]**:创建并切换到新的分支。请添加图片描述

可以发现切换不同分支的时候,最后面的括号的内容在变化。

再使用**git branch**语句,就能看到所有的分支了。请添加图片描述

  • **git merge [branch name]**:将指定的分支合并到当前分支中。请添加图片描述
4.查看提交历史

此处省略为了演示用的多次提交

  • **git log**:查看提交历史。
    请添加图片描述
  • **git reflog**:显示commit的历史提交记录

请添加图片描述

当提交次数过多了或者清屏了的时候,使用git log可能不能看到所有的提交历史,这个时候使用git reflog,我们就能看到所有的提交历史。

  • **git diff**:显示工作目录和暂存区之间的差异。

我现在先在文档里面添加了一行“stage08”,这个时候调用git diff,就可以看到这样的画面:请添加图片描述

  • **git diff [commit1] [commit2]**:显示两次提交之间的差异。请添加图片描述

这里我在后面加上两次提交的哈希值,我就能看到两次提交中的不同之处。

  • **git checkout -- <filename>**:丢弃工作目录中对指定文件的更改,将文件恢复到最近一次提交时的状态。

上面提到我在工作目录中添加了一行“stage08”,假如这个时候我不需要我目前所做的更改,我就可以调用这个语句,让工作目录回到上一次提交的状态。

  • **git giff --staged**:查看暂存区和最后一次提交之间的差异。使用这个命令可以查看已暂存的更改和最后一次提交之间的差异。
    请添加图片描述
  • **git reset --hard<commit_hash>**:这个命令会将HEAD指针指向指定的提交,并将工作目录和暂存区回滚到该提交的状态。其中,<commit_hash>是目标提交的哈希值(或者可以是分支名、标签名等可以直接解析到哈希值的引用)。

上面的git checkout – 命令,会丢掉工作目录所做的更改,直接回到上一次的提交状态,但是很多时候我们并不想这样做,毕竟丢掉了就没了…这个时候我们就可以先将我们的更改提交,然后使用命令git reset --hard<commit_hash>,我们便可以直接跳到相应提交的状态。

请添加图片描述

这里我们跳到了stage05,在需要时我们用相同的操作便可以回到之前的版本,或者说任意的版本,而且工作的内容也不会丢失。

5.撤销更改
  • **git reset --hard**:重置工作目录和暂存区到指定提交的状态,同时丢弃之前的所有修改。

git checkout -- [file]git reset --hard 都是用于撤销对文件的更改,但它们的行为略有不同:

  1. git checkout – [file]:
    git checkout – [file]:
    • 这个命令用于丢弃工作目录中对指定文件的更改,将文件恢复到最近一次提交时的状态。
    • 它只影响工作目录中的文件,不会影响暂存区或提交历史。
    • 如果文件在暂存区中有修改,那么这个命令会用暂存区的文件覆盖工作目录中的文件。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ff00ff254613a03fab5e56a57acb)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值