Git的几个重要面试考察点,慎入!!

本文深入探讨Git的远程操作命令如clone、pull、fetch、push的区别,对比merge与rebase的功能特性,详解Git库中文件的四种状态:Untracked、Unmodify、Modified、Staged,为开发者提供全面的Git使用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git的几个重要面试考察点,慎入!!

1、远程操作命令的区别

  • git clone
  • git remote
  • git fetch
  • git pull
  • git push

在这里插入图片描述


1.1 git clone <版本库地址> <本地目录地址>
  • 本地没有项目时,直接使用clone
1.2 git pull <远程主机名> <远程分支名> : <本地分支名>
  • 表示取回远程库的分支,再同时与本地分支合并,保持同步
1.3 git fetch <远程主机名><远程分支名>和git merge <被合并分支名> //表示合并至当前分支
  • git fetch 表示将远程分支拉取至本地,并在本地生成一个远程分支origin/master
  • 其次,可以使用git checkout -b NewBrach origin/master 在他的基础之上创建一个新的分支
1.4 git push <远程主机名> <本地分支名> : <远程分支名>
  • 将本地分支与远程分支进行同步

参考文章:http://www.ruanyifeng.com/blog/2014/06/git_remote.html

2.git merge和git rebase的重要区别

最大的区别是:merge只能用于对两个不同分支进行合并,要求两个版本必须保持最新版,无法在回退低版本进行改动时保证后续分支同步更新,而使用rebase就能做到,它通过将旧版本的提交历史以补丁的方式依次将后续分支打上,从而实现更新!

强烈建议参考这篇博文,非常通俗易懂https://blog.youkuaiyun.com/hustpzb/article/details/8686435

3.git库所在的文件夹中的文件大致有4种状态

Untracked:
未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
Unmodify:
文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改,
而变为Modified. 如果使用git ``rm``移出版本库, 则成为Untracked文件
Modified:
文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态,
使用git checkout 则丢弃修改过, 返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
Staged:
暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify状态.
执行git reset HEAD filename取消暂存, 文件状态为Modified
Git 状态 untracked 和 not staged的区别
1)untrack     表示是新文件,没有被add过,是为跟踪的意思。
2)not staged  表示add过的文件,即跟踪文件,再次修改没有add,就是没有暂存的意思
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值