<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Git工作流 on GitFAQ中文网</title><link>http://www.gitfaq.cn/tags/git%E5%B7%A5%E4%BD%9C%E6%B5%81/</link><description>Recent content in Git工作流 on GitFAQ中文网</description><generator>Hugo</generator><language>zh</language><copyright>[black8](https://0x8.net/)</copyright><lastBuildDate>Mon, 26 Oct 2026 17:16:02 +0800</lastBuildDate><atom:link href="http://www.gitfaq.cn/tags/git%E5%B7%A5%E4%BD%9C%E6%B5%81/index.xml" rel="self" type="application/rss+xml"/><item><title>Git常见工作流比较</title><link>http://www.gitfaq.cn/docs/git-recipes/Comparison-of-common-Git-workflows/</link><pubDate>Tue, 11 Mar 2025 14:41:12 +0800</pubDate><guid>http://www.gitfaq.cn/docs/git-recipes/Comparison-of-common-Git-workflows/</guid><description>&lt;h1 id="git常见工作流比较"&gt;Git常见工作流比较&lt;a class="anchor" href="#git%e5%b8%b8%e8%a7%81%e5%b7%a5%e4%bd%9c%e6%b5%81%e6%af%94%e8%be%83" aria-label="Link"&gt;&lt;/a&gt;&lt;/h1&gt;&#10;&lt;blockquote class=''&gt;&#10;&lt;p&gt;BY 童仲毅（&lt;a href="https://gitfaq.cn/docs/git-recipes/"&gt;geeeeeeeeek@github&lt;/a&gt;）&lt;/p&gt;&#10;&lt;p&gt;这是一篇在&lt;a href="https://www.atlassian.com/git/tutorials/comparing-workflows"&gt;原文（BY atlassian）&lt;/a&gt;基础上演绎的译文。除非另行注明，页面上所有内容采用知识共享-署名（&lt;a href="http://creativecommons.org/licenses/by/2.5/au/deed.zh"&gt;CC BY 2.5 AU&lt;/a&gt;）协议共享。&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;多种多样的工作流使得在项目中实施 Git 时变得难以选择。这份教程提供了一个出发点，调查企业团队最常见的 Git 工作流。&lt;/p&gt;&#10;&lt;p&gt;阅读的时候，请记住工作流应该是一种规范而不是金科玉律。我们希望向你展示所有工作流，让你融会贯通，因地制宜。&lt;/p&gt;&#10;&lt;p&gt;这份教程讨论了下面四种工作流：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="http://www.gitfaq.cn/docs/git-recipes/Comparison-of-common-Git-workflows/#%E4%B8%AD%E5%BF%83%E5%8C%96%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81#%e4%b8%ad%e5%bf%83%e5%8c%96%e7%9a%84%e5%b7%a5%e4%bd%9c%e6%b5%81"&gt;中心化的工作流&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.gitfaq.cn/docs/git-recipes/Comparison-of-common-Git-workflows/#%E5%8A%9F%E8%83%BD%E5%88%86%E6%94%AF%E7%9A%84%E5%B7%A5%E4%BD%9C%E6%B5%81#%e5%8a%9f%e8%83%bd%e5%88%86%e6%94%af%e7%9a%84%e5%b7%a5%e4%bd%9c%e6%b5%81"&gt;基于功能分支的工作流&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.gitfaq.cn/docs/git-recipes/Comparison-of-common-Git-workflows/#gitflow%E5%B7%A5%E4%BD%9C%E6%B5%81#gitflow%e5%b7%a5%e4%bd%9c%e6%b5%81"&gt;Gitflow工作流&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.gitfaq.cn/docs/git-recipes/Comparison-of-common-Git-workflows/#fork%E5%B7%A5%E4%BD%9C%E6%B5%81#fork%e5%b7%a5%e4%bd%9c%e6%b5%81"&gt;Fork工作流&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="中心化的工作流"&gt;中心化的工作流&lt;a class="anchor" href="#%e4%b8%ad%e5%bf%83%e5%8c%96%e7%9a%84%e5%b7%a5%e4%bd%9c%e6%b5%81" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;img src="http://www.gitfaq.cn/imgs/Workflow.svg" alt="Git Workflows: SVN-style Workflow" /&gt;&lt;/p&gt;&#10;&lt;p&gt;过渡到分布式分版本控制系统看起来是个令人恐惧的任务，但你不必为了利用 Git 的优点而改变你现有的工作流。你的团队仍然可以用以前SVN的方式开发项目。&lt;/p&gt;&#10;&lt;p&gt;然而，使用 Git 来驱动你的开发工作流显示出了一些SVN没有的优点。首先，它让每个开发者都有了自己 &lt;em&gt;本地&lt;/em&gt; 的完整项目副本。隔离的环境使得每个开发者的工作独立于项目的其它修改——他们可以在自己的本地仓库中添加提交，完全无视上游的开发，直到需要的时候。&lt;/p&gt;&#10;&lt;p&gt;第二，它让你接触到了 Git 鲁棒的分支和合并模型。和 SVN 不同，Git 分支被设计为一种故障安全的机制，用来在仓库之间整合代码和共享更改。&lt;/p&gt;&#10;&lt;h2 id="如何工作"&gt;如何工作&lt;a class="anchor" href="#%e5%a6%82%e4%bd%95%e5%b7%a5%e4%bd%9c" aria-label="Link"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;和 Subversion 一样，中心化的工作流将中央仓库作为项目中所有修改的唯一入口。和 &lt;code&gt;trunk&lt;/code&gt; 不同，默认的开发分支叫做&lt;code&gt;master&lt;/code&gt;，所有更改都被提交到这个分支。这种工作流不需要 &lt;code&gt;master&lt;/code&gt; 之外的其它分支。&lt;/p&gt;&#10;&lt;p&gt;开发者将中央仓库克隆到本地后开始工作。在他们的本地项目副本中，他们可以像SVN一样修改文件和提交更改；不过，这些新的提交被保存在 &lt;em&gt;本地&lt;/em&gt; ——它们和中央仓库完全隔离。这使得开发者可以将和上游的同步推迟到他们方便的时候。&lt;/p&gt;&#10;&lt;p&gt;为了向官方项目发布修改，开发者将他们的本地 &lt;code&gt;master&lt;/code&gt; 分支「推送」到中央仓库。这一步等同于 &lt;code&gt;svn commit&lt;/code&gt;，除了Git添加的是所有不在中央 &lt;code&gt;master&lt;/code&gt; 分支上的本地提交。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="http://www.gitfaq.cn/imgs/33340383ce0702.svg" alt="Central and local repositories" /&gt;&lt;/p&gt;&#10;&lt;h3 id="管理冲突"&gt;管理冲突&lt;a class="anchor" href="#%e7%ae%a1%e7%90%86%e5%86%b2%e7%aa%81" aria-label="Link"&gt;&lt;/a&gt;&lt;/h3&gt;&#10;&lt;p&gt;中央仓库代表官方项目，因此它的提交历史应该被视作神圣不可更改的。如果开发者的本地提交和中央仓库分叉了，Git 会拒绝将他们的修改推送上去，因为这会覆盖官方提交。&lt;/p&gt;&#10;&lt;p&gt;&lt;img src="http://www.gitfaq.cn/imgs/a2e93374e53e0320.svg" alt="Managing Conflicts" /&gt;&lt;/p&gt;</description></item></channel></rss>