顯示具有 協同開發 標籤的文章。 顯示所有文章
顯示具有 協同開發 標籤的文章。 顯示所有文章

2020年11月16日 星期一

設定换行字元 CRLF LF CR

在不同的平台上,

文件的換行字元各有不同,

CRLF - > Windows

LF - > Unix / Linux

CR - > Mac 

若始終在同個平台上設計開發的話,

使用何種格式都無妨,

若在不同平台上開發最好能夠統一格式,

避免不可預期的問題發生或者產生混淆。


以 Git 為範例,

使用 CRLF 與 LF 就會判別文件有相異處,

這在軟體開發與版本控制中不是什麼嚴重的問題,

但卻會讓人誤以為程式有修改變更。

解決方法很簡單,

執行:

$ git config --global core.autocrlf true      

即可。

core.autocrlf  可以三個數值,

true, inout, false      

使用 true 的話,

git 會自動將 CRLF 文件轉換為 LF。


若是使用如 Pycharm 之類的 IDE 軟體,

可從上方工具列的 File - > Settings 中

找到 Code Style 頁面,

在 General 分頁中,

找到 Line Separator 並將其設定為

Unix and macOS ( \ n )


這樣一來,

在協同開發中,

由於換行符號造成的差異與誤解就得到解決。





2019年5月29日 星期三

Ubuntu 協同開發工具 diff與patch


在多人協同開發中,

很重要的一環在於檔案的同步,

相關的工具有很多,

Ubuntu內建就有很好的工具可使用,

這就是今天的主題:

Ubuntu 協同開發工具 diff與patch


在開始舉例說明前,

先了解下工具的語法:


diff -Naur [from] [to] > [patch_name]


可使用的參數:


-N
目錄比較中,如果只在一個目錄中找到文件,則將其視為存在但在另一個目錄中為空

-a
將所有檔案視為文字檔再逐行比較,即使原始格式不是文字檔

-u
使用統一輸出格式

-r
比較找到的所有子目錄



光看說明是無法學到東西的,

直接以test1  test2 兩個資料夾,

裡面存在testfile為範例



diff -Naur test1 test2 > difference.txt


將test1與test2資料夾比較將不同之處存為difference.txt



由上圖範例中,

 將 difference.txt 印出來看,

可看到兩者的差異


再來就是要套用此差異,

利用

patch -p0 < difference.txt

 將結果印出來可看到,

test1 資料夾中的檔案已經套用test2中的檔案,



套用之後,

如果要回覆原來檔案,

直接執行

patch -R -p0 < difference.txt

就能將test1中的檔案回覆到原來的內容



上述的例子為資料夾的比較與套用,

檔案的比較用法也是一樣的

可使用

diff -urN file1 file2 > difference.txt





2019年4月13日 星期六

在GitHub上利用Fork參與專案開發


GitHub  擁有著龐大的開源程式碼,

上頭有著各式各樣的專案,

當今天對某個專案有興趣,

並且想參與開發,

透過Fork這個功能就能

在GitHub上利用Fork參與專案開發


參與開發的流程如下:


1.   Fork一個專案,
      系統會將此專案複製一份到使用者個人的GitHub上

2. 下載自己GitHub上的專案程式碼到本機上編輯,

3.  建立自己的分支後, 
       開始加入自己的程式碼

4.完成後將此分支上傳至自己的GitHub上

5.提交一個Pull Request給作者

6.由作者決定是否要將此修改Merge到專案中




在GitHub找到有興趣的專案並fork一份

接著透過Pycharm下載到本機電腦




下載完畢後開啟專案,

並到 VCS     工具列找到Git,

切換到要執行的分支


第一次進入,

選擇 Remote Branches,

Checkout As ...將其下載至本機端


確定Pycharm完全切換至該分支之後,

同樣到Git   Branches選單中,

選擇New  Branch  建立自己的分支,

並將想新增或修改的code,

加在此分支中,

最後將此分支上傳(Git Push)至自己的GitHub的fork專案中,

可在GitHub上看到如下圖target_branch的範例,

點選Compare & pull request
 填入適當的註解與選擇要加入的分支,

確定之後點選Create pull request就可以向作者提出要求


提交成功之後,

是否要加入專案中則是由作者來決定的




至於作者端收到之後,

可看到如底下範例,

如果覺得OK,

就能直接點按鈕將code   Merge到專案




在多人開發中,

由管理者確認其他人所提交的PR沒問題之後,

再將其加到專案的原始碼中,

對於多人協同開發軟體的版本控制,

是一個很不錯的方法