標籤:window creat 工作區 hang 速度 src 比較 update 記錄
github 是最大的開源項目託管平台,是一個網站。但是它不僅僅只能託管開源項目或代碼,還能作為我們備份重要資料的平台,更重要的是我們可以通過這個平台來學習和擷取別人的代碼,避免重複造輪子,還可以多人協同工作。git 的命令列還在學習中,我使用的是 windows 系統,使用 github for windows 就能處理我們日常生活中的大部份備份需求和其它交易處理。
使用 github for windows
一、準備
step 1: 註冊 github 帳號
開啟 github 官網 https://github.com,依次填寫使用者名稱、郵箱地址、密碼
step 2: 下載和安裝 github for windows 用戶端
下載用戶端 https://git-scm.com/downloads,會先下載一個可執行檔,然後選擇可執行檔繼續下載,可能下載多次都不成功,畢竟是國外的伺服器,不穩定和速度慢是正常的,多試幾次就好了。安裝完成後在案頭有這樣的表徵圖:
二、備份
step 1: 建立新倉庫
去 github 官網建立新倉庫。github 上每一個人的項目都是一個倉庫(repository)。每個人帳號下的倉庫名不重名就行,即便是和別人的倉庫重名了也無所謂。下面以我跑步記錄的資料為例說明接下來的步驟。
登入成功後,可以看到我們的使用者名稱:
建立新倉庫:
step 2: 啟動用戶端,登入帳號
啟動 github for windows 用戶端,並登入帳號:
儲存後,就選擇好了項目擁有者和項目提交者。接下來我們可以複製項目到本地了,在本地借用我們熟悉的編輯工具幹活,以便後面備份到 github 網站。
step 3: 複製項目
將新建立的倉庫到本地:
點擊"Open in Desktop"將啟動用戶端,然後我們選擇在本地儲存的路徑,選擇好後,就開始複製了:
複製好後,在我們選擇的路徑下將會增加 readme 檔案和 .git 檔案夾:
step 4: 處理(增刪改)本地檔案
在本地新增一個檔案----跑步詳情.xlsx,填寫跑步詳情,完成後儲存。這樣一個過程就完成了本地檔案的一次修改。
step 5: 將檔案提交到暫存區
在工作區完成操作後,我們需要將檔案提交到暫存區:
在 changes 欄目下,可以看到我們更改的檔案,無論是新增、修改、刪除都有痕迹可尋。選擇需要的檔案提交到暫存區。如果發現改錯了,後悔提交了,可以執行"Undo"操作,此次提交作廢,繼續在本地變更檔到滿意為止:
step 6: 將檔案同步到 github
只有將檔案同步到 github 上之後,別人才能看到這個檔案,以便於加入修改,fork 倉庫提供意見,pull request(提取要求) 並且 merge(合并)等等。點擊"Sync"進行同步。
至此,我們的檔案備份工作完成。後面操作最多的便是重複修改和增加檔案了,重複備份操作 step 4 - step 6 即可完成。
step 7: 重複備份工作
重複備份工作,為分支敘述做準備。在本地 running 檔案夾下新增一個文字文件----跑步術語.txt,如下:
然後提交、同步到 github 上。
三、分支
1. 建立新分支
假設一個情境,上面的跑步術語我像積累英語單詞一樣每天都新增幾條。但是後面我發現對於配速的解釋不夠明確,我想要加一些解釋性的例子。現在我就可以建立一個分支來加解釋說明。建立 example 分支:
在配速術語後增加例子說明:
2. 提交當前分支
提交當前分支,並且將其同步到 github 上。
3. 合并兩個分支
合并兩個分支有兩個方法:
(1). 通過 github 網站來合并(推薦):
這種方法更簡單些,也更容易理解。同步 example 分支到 github 網站上後,在網站上可以看到提示"有新增的分支可作比較和拉取需求":
點擊"Compare & pull request"去選擇 Compare 對象,然後 Create pull request:
如果 base 分支和 compare 分支選擇錯誤了,可手動選擇。選擇 Create pull request 將 example 分支的內容"拉"到 master 分支中。然後合并分支:
至此我們的分支合併作業完成。可以從 github 網站上看到 master 分支裡的內容:
說明合并成功了,那麼 example 這個分支也就不需要了,它的任務完成了,可以刪除了:
點擊"2 branchs"可顯示具體分支,並操作分支:
然後"2 branchs"就變成了"1 branch",刪除分支成功。
(2). 通過 github for windows 用戶端來合并
建立一個分支 example2 來示範通過github for windows 用戶端來合并分支操作。建立分支,修改本地檔案,提交,發布等操作同"通過網站操作"相同,用戶端的分支將呈現如下:
需要改變當前分支,example2-->master,然後把用於比較的分支變成 example2,master-->example2:
然後點擊"Update from example2",從記錄裡可以看到"merge"字樣,說明已經合并了:
最後點擊"Sync"將合并同步到 github 上。
刪除 example2 分支,刪除分支也可以在用戶端完成:
四、fork
有這樣一個情境,別人看到我的跑步術語某一條描述不正確,他想改一下。於是我可以把他加入到貢獻者中,我們愉快的合作,但是這樣太危險了吧,我們都不認識,他改錯了怎麼辦?我覺得他改之前我們可以交流一下,我也可以檢查一下他的更改,再決定要不要採用他的更改。現在就可以用到 fork 了,我的理解 fork = clone + update + sync(commit) + merge(pull request) 。
1. clone
同學 A(lixinjie1992) 登入他的帳號,看到了我的跑步術語,覺得好奇,開啟一看認為某處需要改一下。於是他 fork 一下,clone 到自己的賬戶中:
點擊 fork,就 clone 了一份倉庫到自己的賬戶下:
如果改動較小,就是純文字編輯的話,就直接在 github 網站上編輯更快:
2. update
點擊要修改的檔案,進入文字編輯器修改,然後填寫修改說明,再提交:
3. commit
4. pull request拉取一次請求:
與上一次改變前作比較:
Create pull request,等待倉庫擁有者回複:
過了一段時間,同學 B 發現了 pull request 這裡有一條訊息:
點擊查看,然後點擊改變的檔案,可選擇合并且給同學 A 留言感謝他,或者不合并且給他留言指明不合并理由:
最後"confirm merge"確認合并。
如果是改動比較大的話,就需要將項目 clone 到自己的電腦裡,在工作區修改好後 commit(提交),sync(同步),然後(pull request)。剩餘步驟與上面類似。
五、多人協同工作
將其他人的賬戶添加進 collaborators,就可以進行協作了。以同學 B 的 running 為例,添加同學 A,用來多人協作工作:
running-->contributor-->settings-->collaborators:
添加進 collaborators 後,最大的區別就是,不用再經過同學 B 同意了,同學 A 就可以直接參与修改 running 和 merge 工作。
github 和 github for windows 學習使用總結