Git 同步對齊 fork 專案跟原始專案的 commit

使用fork的方式進行開發

開發到一個段落時,如果直接推送自己的東西進master,未來要合併回原始專案的時候,很有機會遇到衝突(可能錯過了一些commit導致);所以先跟原始專案做”對齊”的動作,再推送自己開發的東西會比較保險

情境

  • bbb從aaa/projectfork出來bbb/project進行開發

  • aaa/project的master分支有10個commit。

  • 本地的master分支有5個原始commit,3個開發產生的commit。

  • bbb想要把本地的master分支,跟aaa/project的commit保持一致,再把自己開發的東西一起推送到bbb/project

步驟

  1. 設定原始專案為上游分支

    1
    git remote add upstream aaa/project.git
  2. 抓取原始專案的異動

    1
    git fetch upstream
  3. 切到master分支

    1
    git checkout master
  4. 把upstream/master合併到master分支

    1
    git rebase upstream/master

    如果有異動還沒推,先stash起來,做完rebase後再取出

  5. 推送

    1
    git push

參考資料

Git中同步主干的代码到fork分支里
【狀況題】怎麼跟上當初 fork 專案的進度?
Stash(暫存)

JS 比對字串的幾個方法

在處理要允許的host時,用到了幾個方法做了筆記,以下也會提到一些要注意的地方。

直接用 ===

1
2
3
4
5
let allowHost = 'google.com'
if(windows.location.host === allowHost)
{
//....
}

windows.location.host要跟條件「絕對一致」的話,直接用===來判斷吧;但是如果不是…那就繼續看下去吧。

繼續閱讀

設定 git 使用者及信箱

在vscode裡面如果沒有設定使用者,就無法正常的使用git功能。
或是有時候有切換使用者的需求,就用指令來解決吧!!

記得打開終端機(termial),並且cd到你要設定的目錄下

繼續閱讀

[HTML]把header做成template

最近在做純靜態的網站,沒有引入Vue或其他的框架,每一次新的頁面的<header>都從第一頁複製,在新的頁面貼上,一旦內容要做變更,我就必須再次複製貼上…

覺得這樣的方式實在太蠢了!

後來想到可以用JS的方式放入HTML,只要在不同的頁面抓到標籤是id=header就好了。(同理,footer也可以這樣做)

繼續閱讀