第二章做業第二題——劉祉成

問:每人本身創建一個HelloWorld項目,練習使用git的add/commit/push/pull/fetch/clone等基本命令。比較項目的新舊版本的差異。

答:java

GitHub練習心得git

(1)準備階段網絡

在GitHub我的主頁新建一個遠程倉庫,命名爲「Abe_HelloWorld」,ssh

而後在本機桌面新建「HelloWorld」文件夾,並在其中創建「Abe_HelloWorld.java」文件。內容如圖:fetch

安裝Git,打開Git Bash,首先設置本身的用戶名和郵箱3d

而後用git init命令將HelloWorld文件夾變成本地倉庫blog

而後生成SSH KEY,在用戶文檔的.ssh文件夾下找到地址,複製,進入GitHub我的主頁的Setting界面,點擊SSH選項,將複製的內容填入地址欄ip

(2)add, commit, push文檔

首先將Abe_HelloWorld.java添加到暫存區,而後提交到本地倉庫同步

以後,創建本地倉庫與遠程倉庫的聯繫,而後將本地倉庫的.java文件上傳到遠程倉庫

尷尬的事情發生了,push失敗,不過彆着急,錯誤的緣由是本地倉庫並沒用pull到最新的遠程倉庫,也就是遠程倉庫的的最新文件沒有更新到本地倉庫,這時只要pull一下再push就行了

這樣,遠程倉庫裏就有了這個.java文件了

(3)pull, fetch, clone

上一步驟是將本地上傳至網絡,這一步驟則是於從網絡下載到本地有關。這裏主要說一下這三個命令的區別。

clone:就是將遠程倉庫的文件拷貝到本地倉庫並不會考慮衝突和重複性;

這時候在本地倉庫已經能夠看到遠程倉庫的文件夾

fetch:查看遠程倉庫的內容,並不會同步;

先修改本地倉庫的.java文件

而後fetch後比較不一樣

能夠看到不一樣之處被標綠

pull:將遠程倉庫的內容同步到本地倉庫,可是當出現同名文件且文件內容不一致時pull會中止,系統會要求刪掉本地內容才能同步。

這時雖然顯示pull進行成功,可是本地倉庫並無被修改,由於遠程倉庫沒有被修改,這時須要使用checkout命令

若是將遠程倉庫的文件修改

這時再進行pull操做,會發現本地倉庫已經被修改

(4)Tips:push前必定先pull一下,這應該是一個好習慣。

相關文章
相關標籤/搜索