ToB企服应用市场:ToB评测及商务社交产业平台

标题: Git 分支管理:优化版本控制与应急处理的关键计谋 [打印本页]

作者: 耶耶耶耶耶    时间: 2024-5-12 18:18
标题: Git 分支管理:优化版本控制与应急处理的关键计谋
使用 Git 分支:轻松管理不同版本和应对紧急情况的最佳实践

使用 Git 分支

在 Git 中,分支是主堆栈的新/独立版本。
假设你有一个大型项目,需要对其进行设计更新。
没有使用 Git 时:
(两周后,你意识到未修复无关的错误,由于在修复之前你复制了文件)
使用 Git 时:
分支答应你在项目的不同部分上工作,而不影响主分支。
当工作完成后,可以将分支与主项目合并。
你甚至可以在不同分支之间切换,同时在不同项目上工作,而彼此不会互干系扰。
在 Git 中,分支非常轻量且快速!
创建新 Git 分支

让我们向我们的 index.html 页面添加一些新功能。
我们在当地堆栈中工作,不盼望干扰或可能破坏主项目。
所以我们创建一个新分支:
git branch hello-world-images
现在我们创建了一个名为 "hello-world-images" 的新分支。
让我们确认我们已经创建了一个新分支:
  1. git branch
  2.   hello-world-images
  3. * master
复制代码
我们可以看到新分支的名称为 "hello-world-images",但在 master 旁边的 * 指定我们当前在该分支上。
checkout 是用于检出分支的命令,将我们从当前分支移动到命令末尾指定的分支:
  1. git checkout hello-world-images
复制代码
现在我们已将当前工作区从 master 分支移动到新分支。
打开你最喜欢的编辑器并进行一些更改。
在此示例中,我们在工作目录中添加了一个图像(https://www.cnblogs.com/img_hello_world.jpg)和 index.html 文件的一行代码:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>Hello World!</title>
  5. <link rel="stylesheet" href="bluestyle.css">
  6. </head>
  7. <body>
  8. <h1>Hello world!</h1>
  9. <img src="https://www.cnblogs.com/img_hello_world.jpg" alt="Hello World from Space"
  10. >
  11. <p>This is the first file in my new Git Repo.</p>
  12. <p>A new line in our file!</p>
  13. </body>
  14. </html>
复制代码
我们对一个文件进行了更改,并在工作目录中添加了一个新文件(与主分支雷同的目录)。
现在查抄当前分支的状态:
  1. git status
复制代码
在 hello-world-images 分支上,有文件更改,但该文件未准备好提交,https://www.cnblogs.com/img_hello_world.jpg 不在跟踪文件中。
因此,我们需要将这两个文件都添加到该分支的暂存区中:
  1. git add --all
复制代码
使用 --all 而不是单独的文件名将全部已更改的文件(新的、修改的和已删除的)放入暂存区。
查抄分支的状态:
  1. git status
复制代码
在 hello-world-images 分支上,有文件更改,但未准备好提交。所以我们将这些更改提交到该分支:
  1. git commit -m "Added image to Hello World"
复制代码
现在我们有一个不同于 master 分支的新分支。
留意:在 checkout 命令上使用 -b 选项会创建一个新分支,并移动到该分支,如果该分支不存在的话。
切换分支

现在让我们看看工作在不同分支上有多么快速和容易,以及它是如何有效地工作的。
我们当前位于 hello-world-images 分支。我们向此分支添加了一个图像,所以让我们列出当前目录中的文件:
  1. ls
复制代码
我们可以看到新文件 https://www.cnblogs.com/img_hello_world.jpg,如果打开 html 文件,可以看到代码已经发生了变革。一切都按计划进行。
现在,让我们看看当我们切换到 master 分支时会发生什么
  1. git checkout master
复制代码
不再存在 https://www.cnblogs.com/img_hello_world.jpg!如果打开 html 文件,可以看到代码已经规复到修改之前的状态。
看看工作在不同分支上有多么容易?以及它是如何答应你在不同的任务上工作的?
###
紧急分支
现在假设我们还没有完成 hello-world-images,但我们需要在 master 上修复一个错误。
我不想直接干预 master,也不想干扰 hello-world-images,由于它还没有完成。
所以我们创建一个新分支来处理紧急情况:
  1. git checkout -b emergency-fix
复制代码
现在我们已经从 master 创建了一个新分支,并切换到它。我们可以安全地修复错误,而不会干扰其他分支。
让我们修复我们想象中的错误:
[code]Hello World!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4