【问题标题】:How do I update an existing copy between Git branches?如何更新 Git 分支之间的现有副本?
【发布时间】:2013-10-12 10:43:31
【问题描述】:

我在 32 位 Windows 8 系统上,运行 GitHub for Windows。我的存储库的主分支有一个 HTML 文件。我激活了 GitHub 的网页服务。为了提供我的网页,我切换到我的“gh-pages”分支,并运行“git checkout master -- MyWebPage.html”,然后进行了提交和同步。

现在,我在“master”分支上更新了我的网页。当我试图将文件重新复制到“gh-pages”分支时,什么也没发生!它没有复制,因为文件已经存在。我猜它不考虑更新的状态。

如何使用最新的跨分支重新复制?网页是两个分支唯一共有的文件。我听说过一种叫做“合并”的东西,但它可能在分支级别工作,我不希望复制“主”分支的所有文件,只复制我已经做过的网页。

【问题讨论】:

  • 您在切换分支之前是否提交了您在 master 中所做的新更改?相同的过程应该适用于更新另一个分支中的文件。 git checkout gh-pages 然后是 git checkout master MyWebPage.htmlgit commit -am 'fix'
  • @kedar,是的,我提交了更改。我在浏览器上从 GitHub 的编辑页面更改了 master 分支中的网页。
  • 我刚刚尝试了“git merge --no-commit master”,它做了我担心的事情。它从“master”分支复制了每个文件并且它没有更改网页文件,这是两全其美的。

标签: git github github-pages github-for-windows


【解决方案1】:

看着我的(前)两个问题,我想通了。

  1. 我使用 GitHub 的“直接从 GitHub 的网页编辑”功能更改了网页。
  2. 这意味着我的“master”分支的本地副本没有该更改。
  3. 所以“git checkout master MyWebPage.html”只是复制一个未更改的文件。
  4. 我切换到“master”,使用同步来获取新的提交,切换回“gh-pages”,然后再次切换回“git checkout master MyWebPage.html”。这次成功了!

所以我了解到分支之间的复制只适用于本地版本。不包括远程更新。

【讨论】:

    猜你喜欢
    • 2013-11-02
    • 1970-01-01
    • 2015-09-05
    • 2019-06-08
    • 2017-10-09
    • 2020-06-18
    • 2013-01-07
    • 2019-02-16
    相关资源
    最近更新 更多