新公司專案感覺會時常使用 git,主要是想在若有緊急情況時,希望在家中也有辦法處理公司的事,剛好目前還在熟悉環境手邊暫時沒有排專案,就在公司電腦試了一下。
在同一台電腦上,公司 github 帳號可以管理公司專案、私人 github 帳號可以管理私人專案
執行以下命令,Email 記得更換
$ ssh-keygen -t rsa -C "username@example.com"
接下來應該會跳出下方的訊息
Enter file in which to save the key (/Users/user/.ssh/id_rsa):
於訊息冒號後輸入金鑰名稱,輸入完後會跳出要你輸入驗證密碼的訊息,若不想設定按 Enter 跳過即可
Enter passphrase (empty for no passphrase): [輸入驗證密碼]
Enter same passphrase again: [再輸入一次同樣的驗證密碼]
因為我有兩個帳號,所以這個步驟會重複兩次,金鑰名稱分別為 id_rsa_company 和 id_rsa_personal
~/.ssh/id_rsa_company
~/.ssh/id_rsa_personal
查看目前管理的金鑰
$ ssh-add -l
因為我亂試了一段時間,列出來的金鑰有點混亂,所以我執行下方這段將舊的都先清除
$ ssh-add -D
將金鑰加入 ssh-agent
$ ssh-add ~/.ssh/id_rsa_company
$ ssh-add ~/.ssh/id_rsa_personal
最後再執行一次,看剛剛的金鑰是否有加入成功
$ ssh-add -l
分別執行下面三段命令
$ cd ~/.ssh/
$ touch config
$ open config
config 打開後開始編輯內容
#公司帳號
Host github-company
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_company
#私人帳號
Host github-personal
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_personal
輸入下面指令可以複製公開金鑰的內容,再將它們貼回 Github 即可
pbcopy < ~/.ssh/id_rsa_personal.pub
pbcopy < ~/.ssh/id_rsa_company.pub
輸入指令
$ ssh -T git@[輸入剛剛 config 內 Host 後方接的名稱]
依照前面的設定指令會是下面這樣
$ ssh -T git@github-company
$ ssh -T git@github-personal
成功的話應該會跳出下面的訊息
Hi [Username]! You've successfully authenticated, but GitHub does not provide shell access.
執行下面命令就能將 repo clone 下來,私人專案在公司也能成功 push 上去
$ git clone git@github-personal:personal/project.git
若 repo 早已經 clone 下來的話,打開專案資料夾內 /.git/config
然後修改 [remote "origin"]
下方的 url 即可,範例如下
[remote "origin"]
url = git@github-personal:personal/project.git
fetch = +refs/heads/*:refs/remotes/origin/*
$ git config user.name "Brent Hsieh"
$ git config user.email "personal@example.com"
https://gist.github.com/jexchan/2351996
https://medium.com/@hyWang/如何在一台電腦使用多個git帳號-907c8eadbabf
https://kejyuntw.gitbooks.io/ubuntu-learning-notes/content/network/network-multiple-ssh-key-to-same-github-site.html
git
ssh
網站中如果有使用到正規表達式,Safari 瀏覽器會在某個正規規則下報出以下錯誤:SyntaxError: Invalid regular expression: invalid group specifier name,接著網站可能就會一片空白或是無法正常運作。 以下是我接手案子內的其中一段程式碼: transPoint(point) { // 下面這段 Safari 會報錯,必須用 RegExp 包 return point.replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ','); }, 上面這段直接把正規規則包在 /.../g 裡在 Safari 上是會出錯的,需要使用 new RegExp('...', 'g') 包起來才可以,並且有使用到 \d 的部份要改用兩個反斜線來取代,例如 \d 需更改為 \\d
Oct 2, 2021前言 之前在看 react 的官方文件時,文中在建立一個新的 react 專案有使用到一條指令:npx create-react-app my-app,當時沒特別想說它是做什麼用的,就先照做吧~ 這幾天剛好有機會碰到了,在這邊做個筆記。 介紹 npx 是 npm v5.2.0 開始加入的一個指令,也是一個 CLI 工具 一個永久存在本機、一個臨時安裝,執行完後移除 這邊就拿 create-react-app 來舉例 以 npm 的方式來建立:
Sep 29, 2021在製作專案時,一定會有全站頁面共用的元件(像是 header, footer 等等),若今天碰到 header、footer 有調整需求,要一個個修改 html 檔光用想的就覺得辛苦,本次討論的是若專案並非使用前端框架來製作時該如何處理 安裝 html-loader $ npm install --save-dev html-loader 專案目錄結構 ├── README.md ├── package-lock.json ├── package.json ├── src
May 13, 2021在做 campaign 案時常會遇到圖片(不論是 <img> 或 css background)使用 transition 做動態時會模糊,最後到定點後會跳動一下的問題,因為一直很惱人所以就忍不住找了解法 selector { backface-visibility: hidden; transform: translateZ(0) scale(1, 1); } 加了上面的設定 Chrome 看起來問題就解決了,但不曉得為何 Safari(新生代 IE)感覺好像沒有太大的改善,於是我另外加了 will-change 屬性,Safari 看起來就好多了,以下附上我的設定: selector {
May 13, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up