2013-10-05 33 views
0

我在32位Windows 8系統上運行GitHub for Windows。我的存儲庫的主分支有一個HTML文件。我激活了GitHub的網頁服務。爲了服務我的網頁,我切換到我的「gh-pages」分支,然後運行「git checkout master - MyWebPage.html」,然後執行了提交&同步。如何更新Git分支之間的現有副本?

現在,我更新了我的網頁上的「主」分支。當我試圖將文件重新複製到「gh-pages」分支時,什麼也沒有發生!它沒有複製,因爲該文件已經存在。我想它不考慮更新的狀態。

如何使用最新版本重新複製分支機構?網頁是兩個分支共有的唯一文件。我聽說過一種叫做「合併」的東西,但它可能在分支層面上工作,我不希望複製「主」分支的所有文件,只是我已經做過的網頁。

+0

您是否在切換分支之前提交了您在主文件夾中做出的新更改?同樣的過程應該適用於更新另一個分支中的文件。 'git checkout gh-pages'然後'git checkout master MyWebPage.html'和'git commit -am'fix'' – Kedar

+0

@kedar,是我承諾進行了更改。我在瀏覽器中從GitHub的編輯頁面更改了主分支中的網頁。 – CTMacUser

+0

我剛剛嘗試過「'git merge --no-commit master'」,它做了我害怕的事情。它複製了「主」分支中的每個文件**,並且它沒有更改網頁文件,這是兩個世界中最糟糕的。 – CTMacUser

回答

0

看着我對這個問題的第一個評論,我想到了。

  1. 我通過使用GitHub的「直接編輯GitHub的網頁」功能更改了網頁。
  2. 這意味着我的本地副本「主」分支沒有這種變化。
  3. 所以「git checkout master MyWebPage.html」只是複製一個未更改的文件。
  4. 我切換到「主」,使用同步來獲得新的提交,切換回「gh-pages」,然後再次「git checkout master MyWebPage.html」。這一次,它工作!

所以我才知道在分支之間複製只是本地版本。遠程更新不包括在內。