<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[关于 GitHub 中的 Fork 仓库的简单问题]]></title><description><![CDATA[<p dir="auto">想问个问题，我 fork 了一个 github 仓库，然后进行了提交，随后上游仓库也进行了自己的提交，我如何 rebase 我的提交在上游提交之后？而不是 github 默认的 merge？</p>
<p dir="auto">还有一个问题，我 fork 了一个 github 仓库，并对上游仓库做出了贡献（打开了 pr 且被合入），我如何优雅的同步我的 fork 以准备下一次贡献（不会常规流程就是丢弃提交后 <code>git reset --hard origin/HEAD</code> 吧？我所知道的应该是切一个分支出来开 pr）</p>
]]></description><link>http://forum.d2learn.org/topic/120/关于-github-中的-fork-仓库的简单问题</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 14:49:33 GMT</lastBuildDate><atom:link href="http://forum.d2learn.org/topic/120.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 10 Aug 2025 16:10:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to 关于 GitHub 中的 Fork 仓库的简单问题 on Thu, 14 Aug 2025 16:42:50 GMT]]></title><description><![CDATA[<p dir="auto">为方便描述，称上游 GitHub 仓库为 upstream，自己 fork 的 GitHub 仓库为 origin。如果没有理解错的话，你应该是遇到下面这个场景并想做到 Step 4：</p>
<pre><code class="language-plaintext">= Step 1: Fork

* aaaaaa (HEAD -&gt; main, origin/main, upstream/main)
...

= Step 2: Make local changes and push them to origin

* bbbbbb (HEAD -&gt; main, origin/main)
* aaaaaa (upstream/main)
...

= Step 3: Check (fetch) upstream's update

* bbbbbb (HEAD -&gt; main, origin/main)
| * cccccc (upstream/main)
|/
* aaaaaa
...

= Step 4: Rebase (but how?)

* bbbbbb (HEAD -&gt; main, origin/main)
* cccccc (upstream/main)
* aaaaaa
...
</code></pre>
<p dir="auto">如果是这样的话，我通常的做法是在本地进行这样的操作：</p>
<pre><code class="language-shell">git pull -r upstream main
# Resolve conflict
git rebase --continue
</code></pre>
<p dir="auto">至于 GitHub 有没有一键（或者几键）的做法，我没有找到。</p>
<p dir="auto">参考阅读：<a href="https://gitolite.com/git-pull--rebase" rel="nofollow ugc">https://gitolite.com/git-pull--rebase</a></p>
]]></description><link>http://forum.d2learn.org/post/528</link><guid isPermaLink="true">http://forum.d2learn.org/post/528</guid><dc:creator><![CDATA[johanvx]]></dc:creator><pubDate>Thu, 14 Aug 2025 16:42:50 GMT</pubDate></item><item><title><![CDATA[Reply to 关于 GitHub 中的 Fork 仓库的简单问题 on Thu, 14 Aug 2025 14:57:53 GMT]]></title><description><![CDATA[<p dir="auto">好的，谢谢<br />
如果是第一个问题呢，第一个问题的提出 就是因为 在某个项目中 我要维护一个自己的分支（而不向上游做贡献），而且我的改动几乎仅限于增加了一个单独的文件（即几乎永远不与上游冲突），在这种情况下 同步上游时 如何使用 rebase 而不是 github 默认的 merge 来同步上游，使提交记录变得干净简洁</p>
]]></description><link>http://forum.d2learn.org/post/527</link><guid isPermaLink="true">http://forum.d2learn.org/post/527</guid><dc:creator><![CDATA[MoYingJi]]></dc:creator><pubDate>Thu, 14 Aug 2025 14:57:53 GMT</pubDate></item><item><title><![CDATA[Reply to 关于 GitHub 中的 Fork 仓库的简单问题 on Thu, 14 Aug 2025 16:58:21 GMT]]></title><description><![CDATA[<p dir="auto">mian分支 + feature分支</p>
<ul>
<li>每次改动不要直接在main上修改, 而是基于main拉出一个对应的feature分支</li>
<li>main分支只用来同步上游的代码</li>
<li>如果在过程中 - 上游有新的改动</li>
<li>先把上游代码同步到本地的main</li>
<li>然后 在feature分支 rebase 到main分支</li>
<li>功能开发完成后 就把feature分支 PR到上游</li>
<li>在把合入上游的代码同步到本地的main</li>
<li>feature分支生命周期结束</li>
</ul>
<hr />
<p dir="auto"><img src="/assets/uploads/files/1755190678576-57a39a00-ba74-420c-8d5d-da46dcf9e85d-image.png" alt="57a39a00-ba74-420c-8d5d-da46dcf9e85d-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>http://forum.d2learn.org/post/526</link><guid isPermaLink="true">http://forum.d2learn.org/post/526</guid><dc:creator><![CDATA[SPeak]]></dc:creator><pubDate>Thu, 14 Aug 2025 16:58:21 GMT</pubDate></item></channel></rss>