【Git使用详解】Egit的常用操作详解
常用操作
操作 |
说明 |
Fetch |
从远程获取最新版本到本地,不会自动merge |
Merge |
可以把一个分支标签或某个commit的修改合并现在的分支上 |
Pull |
从远程获取最新版本并merge到本地相当于fetch+merge |
Push |
将本地分支的更新,推送到远程主机 |
Merge tool |
当你的代码产生了冲突可以通过此工具快速的对比 |
Switch to |
将当前分支切换到其它分支或标签 |
Commit |
将更改提交到本地库中 |
Rebase |
|
Reset |
将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯” EGit的恢复版本功能与使用Git Reset命令一样,而恢复的方式又分为Soft、Mixed、Hard三种: |
Untrack |
将已经添加到版本控制的文件取消监视,及不再对其进行版本控制 |
Ignore |
忽略指定的文件或文件夹,此功能用在还没有进行版本控制的文件上 |
Compare with |
此功能允许你将当前文件和指定时期的文件进行对比 |
常用操作对比
Branch和Tag的区别:#
tag多用于建立里程碑。比如开发达到某中程度,发布某个版本,如V1.0,可以使用tag标注。这样,以后对于程序版本号就可以找到对应的代码状态,并进行build等操作。理论上,tag作为里程碑的镜像存储,应该是只读的才对。
相比,branch是工程需要并行开发不同版本而创建的。如一个原型项目完成后,可能有不同的客户购买并定制,于是就需要在这个原型上构建两个独立的开发库,各自并行开发不同客户的需要。这样,branch可以是进程中的工程,而且之后会不断修改的。
由此,可以看出tag和branch的差别。tag更重要的是记录某个里程碑,只是希望得到那个状态时的代码状态,这对bug的确认和查找很有用处。而各个branch之间是可以肆意各自的改动,互不相干的,branch上也可以有自己的tag。
Merge和Rebase的区别:#
假设原先有A,B,C三个提交记录
开发者提交了D,开发者 Ed提交了E
下面使用MERGE和REBASE两种方式分别对代码进行合并
MERGE方式:
这时D和E的提交仍然在这,但是我们创建了一个新的提交记录M,此时的状态图成了一个菱形,这让很多人看起来很混乱。
REBASE方式:
从上图可以看出这种方式创建了提交R,这时的内容和M实际上是相同的。但是这时没有了E,所以整个提交记录是看起来是一条线。
推荐阅读:
作者:水车
出处:https://www.cnblogs.com/shuiche/p/6435214.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
推荐一个激活软件下载站:mac.shuiche.cc
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现