讀和寫
一般來說,有兩種方法可以和 git 倉庫互動:你可以從倉庫中讀取,或者你也能夠向倉庫中寫入。它就像乙個檔案:有時候你開啟乙個文件只是為了閱讀它,而其它時候你開啟文件是因為你需要做些改動。
本文僅講解如何從 git 倉庫讀取。我們將會在後面的一篇文章中講解如何向 git 倉庫寫回的主題。
git還是github
一句話澄清:git 不同於 github(或 gitlab,或 bitbucket)。git 是乙個命令列程式,所以它就像下面這樣:
$ git
usage: git [--version] [--help] [-c ]
[-p | --paginate | --no-pager] [--bare]
[--git-dir=]
由於 git 是開源的,所以就有許多聰明人圍繞它構建了基礎軟體;這些基礎軟體,包括在他們自己身邊,都已經變得非常流行了。
我的文章系列將首先教你純粹的 git 知識,因為一旦你理解了 git 在做什麼,那麼你就無需關心正在使用的前端工具是什麼了。然而,我的文章系列也將涵蓋通過流行的 git 服務完成每項任務的常用方法,因為那些將可能是你首先會遇到的。
安裝 git
在 linux 系統上,你可以從所使用的發行版軟體倉庫中獲取並安裝 git。bsd 使用者應當在 ports 樹的 devel 部分查詢 git。
對於閉源的作業系統,請前往其專案官網,並根據說明安裝。一旦安裝後,在 linux、bsd 和 mac os x 上的命令應當沒有任何差別。windows 使用者需要調整 git 命令,從而和 windows 檔案系統相匹配,或者安裝 cygwin 以原生的方式執行 git,而不受 windows 檔案系統轉換問題的羈絆。
git 下午茶
landgrab
我們工作的第一步是對這個 git 倉庫使用 landgrab 排序方法:我們會轉殖這個完整的倉庫,然後會根據內容排序。由於該倉庫是託管在公共的 git 服務平台上,所以有兩種方式來完成工作:使用命令列,或者使用 web 介面。
要想使用 git 獲取整個倉庫,就要使用 git clone 命令和 git 倉庫的 url 作為引數。如果你不清楚正確的 url 是什麼,倉庫應該會告訴你的。gitlab 為你提供了 trashy 倉庫的用於拷貝貼上的 url。
你也許注意到了,在某些服務平台上,會同時提供 ssh 和 https 鏈結。只有當你擁有倉庫的寫許可權時,你才可以使用 ssh。否則的話,你必須使用 https url。
一旦你獲得了正確的 url,轉殖倉庫是非常容易的。就是 git clone 該 url 即可,以及乙個可選的指定要轉殖到的目錄。預設情況下會將 git 目錄轉殖到你當前所在的目錄;例如,'trashy.git' 將會轉殖到你當前位置的 'trashy' 目錄。我使用 .clone 副檔名標記那些唯讀的倉庫,而使用 .git 副檔名標記那些我可以讀寫的倉庫,不過這並不是官方要求的。
$ git clone trashy.clone
cloning into 'trashy.clone'...
remote: counting objects: 142, done.
remote: compressing objects: 100% (91/91), done.
remote: total 142 (delta 70), reused 103 (delta 47)
receiving objects: 100% (142/142), 25.99 kib | 0 bytes/s, done.
resolving deltas: 100% (70/70), done.
checking connectivity... done.
一旦成功地轉殖了倉庫,你就可以像對待你電腦上任何其它目錄那樣瀏覽倉庫中的檔案。
仔細挑選
最佳實踐
通常認為,和 git 互動的正確方式是轉殖完整的 git 倉庫。這樣認為是有幾個原因的。首先,可以使用 git pull 命令輕鬆地使轉殖倉庫保持更新,這樣你就不必在每次檔案改變時就重回 web 站點獲得乙份全新的拷貝。第二,你碰巧需要做些改進,只要保持倉庫整潔,那麼你可以非常輕鬆地向原來的作者提交所做的變更。
現在,可能是時候練習查詢感興趣的 git 倉庫,然後將它們轉殖到你的硬碟中了。只要你了解使用終端的基礎知識,那就不會太難做到。還不知道基本的終端使用方式嗎?那再給多我 5 分鐘時間吧。
終端使用
首先要知道的是,所有的檔案都有乙個路徑。這是有道理的;如果我讓你在常規的非終端環境下為我開啟乙個檔案,你就要導航到檔案在你硬碟的位置,並且直到你找到那個檔案,你要瀏覽一大堆視窗。例如,你也許要點選你的家目錄 > > inktobersketches > monkey.kra。
在那樣的場景下,檔案 monkeysketch.kra 的路徑是:$home//inktobersketches/monkey.kra。
在終端中,除非你正在處理一些特殊的系統管理員任務,你的檔案路徑通常是以 $home 開頭的(或者,如果你很懶,就使用 ~ 字元),後面緊跟著一些列的資料夾直到檔名自身。
這就和你在 gui 中點選各種圖示直到找到相關的檔案或資料夾類似。
如果你想把 git 倉庫轉殖到你的文件目錄,那麼你可以開啟乙個終端然後執行下面的命令:
$ git clone
$home/文件/bar.clone
一旦轉殖完成,你可以開啟乙個檔案管理器視窗,導航到你的文件檔案夾,然後你就會發現 bar.clone 目錄正在等待著你訪問。
如果你想要更高階點,你或許會在以後再次訪問那個倉庫,可以嘗試使用 git pull 命令來檢視專案有沒有更新:
$ cd $home/文件/bar.clone
$ pwd
bar.clone
$ git pull
到目前為止,你需要初步了解的所有終端命令就是那些了,那就去探索吧。你實踐得越多,git 掌握得就越好(熟能生巧),這是重點,也是事情的本質。
Git 系列文章(二) Git 基本用法
1.倉庫的初始操作 初始化首先我先在本地存放 github 倉庫的資料夾裡新建乙個資料夾,叫 git test 現在這還只是乙個普通的空資料夾,所以在這個資料夾裡開啟 git bash 要想把乙個空的資料夾變為 github 的倉庫,首先我們要用 git 初始化這個倉庫 雖然在初始化完倉庫之後,資料...
GIT初步使用
今天一直在想,怎麼可以在eclipse上把 託管到像github或codegoogle上,今天試了一下午,都沒有成功 不知道是網路的原因還是什麼的,悲催的 無奈只能用命令列使用。以下是 基本步驟 git smartgt 2.在github註冊,new repository 完成基本的操作 3.建立金...
Git開發系列 二 實戰
1.reset使用場景 1.commit到本地,但是不想把某個commit,push到遠端.2.reset回滾到某個版本,1.中的作用,也用到了reset回滾的機制 3.git reset hard commit id 回滾到commit id,4.git reset hard head 3 將最近...