论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
程序人生
›
Git 分支管理:优化版本控制与应急处理的关键计谋 ...
Git 分支管理:优化版本控制与应急处理的关键计谋
耶耶耶耶耶
金牌会员
|
2024-5-12 18:18:14
|
显示全部楼层
|
阅读模式
楼主
主题
639
|
帖子
639
|
积分
1917
使用 Git 分支:轻松管理不同版本和应对紧急情况的最佳实践
使用 Git 分支
在 Git 中,分支是主堆栈的新/独立版本。
假设你有一个大型项目,需要对其进行设计更新。
没有使用 Git 时:
复制全部相关文件以避免影响实时版本
开始进行设计工作,并发现代码依赖于其他文件中的代码,这些文件也需要更改!
复制相关文件,确保每个文件依赖项引用正确的文件名
紧急情况!项目的其他地方存在无关的错误,需要尽快修复!
保存全部文件,记录你正在工作的副本的名称
处理无关的错误并更新代码以修复它
返回到设计工作,完成工作
复制代码或重命名文件,以使更新后的设计出现在实时版本中
(两周后,你意识到未修复无关的错误,由于在修复之前你复制了文件)
使用 Git 时:
使用名为 "new-design" 的新分支,直接编辑代码,而不影响主分支
紧急情况!项目的其他地方存在无关的错误,需要尽快修复!
从主项目创建名为 "small-error-fix" 的新分支
修复无关的错误并将 "small-error-fix" 分支与主分支合并
返回到 "new-design" 分支,完成工作
合并 "new-design" 分支与主分支(提醒你正在缺少的小错误修复)
分支答应你在项目的不同部分上工作,而不影响主分支。
当工作完成后,可以将分支与主项目合并。
你甚至可以在不同分支之间切换,同时在不同项目上工作,而彼此不会互干系扰。
在 Git 中,分支非常轻量且快速!
创建新 Git 分支
让我们向我们的 index.html 页面添加一些新功能。
我们在当地堆栈中工作,不盼望干扰或可能破坏主项目。
所以我们创建一个新分支:
git branch hello-world-images
现在我们创建了一个名为 "hello-world-images" 的新分支。
让我们确认我们已经创建了一个新分支:
git branch
hello-world-images
* master
复制代码
我们可以看到新分支的名称为 "hello-world-images",但在 master 旁边的 * 指定我们当前在该分支上。
checkout 是用于检出分支的命令,将我们从当前分支移动到命令末尾指定的分支:
git checkout hello-world-images
复制代码
现在我们已将当前工作区从 master 分支移动到新分支。
打开你最喜欢的编辑器并进行一些更改。
在此示例中,我们在工作目录中添加了一个图像(https://www.cnblogs.com/img_hello_world.jpg)和 index.html 文件的一行代码:
<!DOCTYPE html>
<html>
<head>
<title>Hello World!</title>
<link rel="stylesheet" href="bluestyle.css">
</head>
<body>
<h1>Hello world!</h1>
<img src="https://www.cnblogs.com/img_hello_world.jpg" alt="Hello World from Space"
>
<p>This is the first file in my new Git Repo.</p>
<p>A new line in our file!</p>
</body>
</html>
复制代码
我们对一个文件进行了更改,并在工作目录中添加了一个新文件(与主分支雷同的目录)。
现在查抄当前分支的状态:
git status
复制代码
在 hello-world-images 分支上,有文件更改,但该文件未准备好提交,https://www.cnblogs.com/img_hello_world.jpg 不在跟踪文件中。
因此,我们需要将这两个文件都添加到该分支的暂存区中:
git add --all
复制代码
使用 --all 而不是单独的文件名将全部已更改的文件(新的、修改的和已删除的)放入暂存区。
查抄分支的状态:
git status
复制代码
在 hello-world-images 分支上,有文件更改,但未准备好提交。所以我们将这些更改提交到该分支:
git commit -m "Added image to Hello World"
复制代码
现在我们有一个不同于 master 分支的新分支。
留意:在 checkout 命令上使用 -b 选项会创建一个新分支,并移动到该分支,如果该分支不存在的话。
切换分支
现在让我们看看工作在不同分支上有多么快速和容易,以及它是如何有效地工作的。
我们当前位于 hello-world-images 分支。我们向此分支添加了一个图像,所以让我们列出当前目录中的文件:
ls
复制代码
我们可以看到新文件 https://www.cnblogs.com/img_hello_world.jpg,如果打开 html 文件,可以看到代码已经发生了变革。一切都按计划进行。
现在,让我们看看当我们切换到 master 分支时会发生什么
git checkout master
复制代码
不再存在 https://www.cnblogs.com/img_hello_world.jpg!如果打开 html 文件,可以看到代码已经规复到修改之前的状态。
看看工作在不同分支上有多么容易?以及它是如何答应你在不同的任务上工作的?
###
紧急分支
现在假设我们还没有完成 hello-world-images,但我们需要在 master 上修复一个错误。
我不想直接干预 master,也不想干扰 hello-world-images,由于它还没有完成。
所以我们创建一个新分支来处理紧急情况:
git checkout -b emergency-fix
复制代码
现在我们已经从 master 创建了一个新分支,并切换到它。我们可以安全地修复错误,而不会干扰其他分支。
让我们修复我们想象中的错误:
[code]Hello World!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
耶耶耶耶耶
金牌会员
这个人很懒什么都没写!
楼主热帖
集合论第6-8章
蜻蜓优化算法(Matlab完整代码实现) ...
为什么你应该停止依赖Jenkins的插件? ...
腾讯云多媒体文件处理总结
SQL 教程之 10 个 SQL 操作用于 80% 的 ...
axios&spring前后端分离传参规范总结 ...
Python知识点(史上最全)
MySQL InnoDB索引原理
大数据 - ClickHouse
20220319编译OpenHarmony-v3.1-beta出 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表