Cypherpunks GitHub 教學演講

Published: Oct 4, 2019 by Cypherpunks Core

GitHub 可以說是現今時代中工程師的一種社交網路, 當你發現原始作者有一些感興趣的專案時,你想為此專案作貢獻,加入原作者專案 Contributor 的行列時。就可以參考本文件一步一步操作。

目錄:

第一章、概念介紹

1. 教學適用情境

但真實世界中,原作者不一定總接受提交,但可以多來 Cypherpunks-core 的 GitHub 來, 我們比較開放讓大家一同來成為貢獻者。或是 到我這 專案來,該專案裡面有個 GitHub 資料夾,在裡面你可以隨意更新,然後試著更新,然後對我發更新請求(Pull Request), 我可以幫你 merge,讓你成功使用本次的教學。若有操作上不懂之處,或是回家不懂,也可至 Event Discussion 這邊留言討論。

2. 三個角色介紹

注意有 Three role 三個角色

(1) Upstream master (原始作者之 project)
(2) Origin master  (我 Fork 出來的 project )
(3) And the master in my local computer (我 local 端從 自己 origin master fork 出來的 project)

3. 了解角色運作

知道這三者角色後,作法的概念,很簡單,如下

一開始先讓1,2,3 三者角色資料同步。在三方資料都同步的情況下,local computer 作一個branch , 並且在該 branch 上作commit. 接著把這個 branch push 到 Origin master 上,再由 Origin master 上會有 branch  出來,接著作 pull request. 原作者會將你提交的更新給 merge 進去。

4. 七步成貢獻者

至於如何實現上面概念,作法就只有 7  步, 你就有機會成為原作者專案中的 Contributor 了

(1)請註冊GitHub [ 沒有的人請註冊 ]
(2) 用 fork 把原始作者 GitHub 上的 project 帶到自己的 GitHub 上
(3) 從自己 fork 出來的 project  那邊, clone 到自己電腦上
(4) 使 origin master 與 upstream master 同步
(5) 在 local 電腦端建立branch 並且作更新,並將該branch更新至 origin master
(6) 在origin 上以該 branch 作 Pull Request , 並等待原始作者接受更新至 upstream/master
(7) 原作者接受更新,將 upstrem/master 的資料與 local 電腦 master 及origin master 同步

上面這 7 步的操作,其完整作法,請見下面完整操作的章節

第二章、完整操作

(1) 請註冊 GitHub 

如果有 GitHub 帳號的人就登入,沒有的話,請自行到 GitHub 註冊一個帳號

(2) 在 GitHub 上把別人的專案弄一份到自己上面 by fork 

首次拉一個有趣的專案進來, 例如至

http://github.com/milochen0418/milo-education-python

(3)自己從自己的 repo 同步一份到電腦  … by git clone 

$ git clone https://github.com/funprogrammer-byte/milo-education-python

(4)  由於別人的專案會持續更新,所以我們讓自己的 repo origin 與遠端 upstream 保持同步

« 讓原作者與自己 GitHub 同步,一起同步的手法 » 

4.1 從 upstream 拉下來,使電腦端有遠方 upstream 的 repo 

$ git remote add upstream https://github.com/milochen0418/milo-education-python
$ git remote -v

就會看到 upstream 了

$ git fetch upstream
$ git checkout master
$ git merge upstream/master

4.2 透過 push 的方式更新至 origin (自己的 repo) … 此時 upstream 便與 origin 同步

$ git status

可以看到自己目前電腦端, 已經與my github account 上的 repo 有不同了

$ git push -u origin master

(5) 開始更新並 push 至自己的 origin  (by branch 方式)

«開始作自己的更新 »

5.1 請先確保自己已經完成上面同步同作 

5.2 新增一個 branch 

$ git branch -a ← 查詢 branch 狀況,包含 電腦外的 branch

接著就開始新建

$ git branch pr-test-0001 
$ git checkout pr-test-0001

改一些程式

5.3 在此 branch 上面作新增與修改,然後 git add ,  git commit 最後 push 至自己的

修改一些東西後

$ git add .
$ git commit -m "This is commit test"
$ git push -u origin pr-test-0001

這時候你可以從自己的 GitHub 上面看到類似這訊息

(6) 到GitHub 上進行 Pull Request。原作者同意後便會 merge 進來

View of Owner can see Pull Request

(7) 原作者會將你提的請求 ,merge 之後,記得順便作一整個同步的動作

Go to the section  → « 讓原作者與自己 GitHbu 同步,一起同步的手法 » 

有時,你會忘了開branch,但 卻已經 push 到 origin master 的話,補救辦法如下  link

Latest Posts

比特幣的區塊時間戳保護規則
比特幣的區塊時間戳保護規則

摘要: 我們檢查了比特幣鮮為人知的兩個規則,這些規則用於防止不法礦工操縱區塊時間戳以獲得不公平的高額挖礦報酬。我們討論了為什麼可能選擇類似2小時MAX_FUTURE_BLOCK_TIME值之類的常數,以及該值會對比特幣現金有何特定的影響。我們得出的結論是,考慮到實施規則時缺乏功能網路,比特幣的時間保護規則似乎相當有效,令人讚嘆。6 NOVEMBER 2019, BITMEX RESEARCH

過去到現在的Bitcoin性能測試
過去到現在的Bitcoin性能測試

摘要: 我們成功地進行了 35 次初始區塊下載(Initial Block Download, IBD),並記錄了節點與網路同步所花費的時間,從而測試了 Bitcoin Core 的性能。我們使用了從 2012 年到 2019 年的軟體版本。結果表明,軟體性能得到了顯著而持續的改善,但差異也很大。即使使用最新的電腦硬體,舊版本的 Bitcoin 仍難以克服 2015 年至 2016 年期間的交易量提升。因此,我們得出結論,如果沒有軟體增強功能,今天的初始同步幾乎是不可能的。2019年11月29日, BITMEX Research

使用區塊鏈和感知雜湊達到去中心化之圖像共享和版權保護
使用區塊鏈和感知雜湊達到去中心化之圖像共享和版權保護

本篇文章翻譯自 Decentralised Image Sharing and Copyright Protection using Blockchain and Perceptual Hashes,媒體區塊鏈的範疇越來越發人深省,究竟該如何透過去中心化的機制來達到版權保護呢?一起來閱讀本篇文章吧!