有兩種取得git中專案倉庫的方法。通過匯入所有檔案來建立新的git中倉庫。第二種是從已有的git中倉庫轉殖出乙個新的映象倉庫來。
要對現有的某個專案開始用git的管理,只需到專案所在的目錄,執行:
$ git init
初始化後,在當前目錄下會出現乙個名為git的的目錄,所有的git需要的資料和資源都存放在這個目錄中
。不過目前,僅僅是按照既有的結構框架初始化好了裡邊所有的檔案和
目錄,但我們還沒有開始跟蹤管理專案中的任何乙個檔案
。(第九在章我們會詳細說明剛才建立
³³的
.git
目錄中究竟有哪些檔案,以及都起些什麼作用。)
如果當前目錄下有幾個檔案想要納入版本控制
,先需要用
git add
命令告訴git的開始對這些檔案進行跟蹤,然後提交:
$ git add *.c
$ git add readme
$ git commit -m '本次提交資訊描述'
$ git push //推送到遠端倉庫
稍後我們再逐一解釋每條命令的意思。不過現在,你已經得到了乙個實際維護著若干檔案的git的倉庫。
如果想對某個開源專案出乙份力,可以先把該項目的git中倉庫複製乙份出來,需要這就用到
git clone
命令。如果你熟悉其他的vcs比如subversion時,你可能已經注意到這裡使用的是
clone
而不是
checkout
。這是個非常重要的差別,git中收取的是專案歷史的所有資料(每乙個檔案的每乙個版本),伺服器上有的資料轉殖之後本地也都有了
。實際上,即便伺服器的磁碟發生故障,用任何乙個轉殖出來的客戶端都可以重建伺服器上的倉庫
,回到當初轉殖時的狀態(雖然可能會丟失某些伺服器端的掛鉤設定
,但所有版本的資料仍舊還在,有關細節請參考第四章)。
倉庫轉殖的命令格式為
git clone [url]
比如,要轉殖的ruby語言的git的**倉庫砂,可以用下面的命令:
$ git clone git:
會這在當前目錄下建立³³名為乙個
grit
的目錄,遊戲所有其中乙個
.git
grit
目錄,你會看到專案中的所有檔案已經在裡邊了
,準備好後續的開發和使用如果希望在轉殖的時候
,自己定義要新建的專案目錄名稱,可以在上面的命令末尾指定新的名字
:
$ git clone git: mygrit
唯一的差別就是,現在新建的目錄成了
mygrit
,其他的都和上邊的一樣。
git的支援許多資料傳輸協議。的之前使用例子的的英文
git://
協議,不過也。你可以用
http(s)://
或者
user@server:/path.git
表示的ssh傳輸協議。我們會在第四章詳細介紹所有這些協議在伺服器端該如何配置使用
,以及各種方式之間的利弊。
使用者名稱和郵箱位址的作用
使用者名稱和郵箱位址是本地git客戶端的乙個變數,不隨git庫而改變。
每次commit都會用使用者名稱和郵箱紀錄。
github的contributions統計就是按郵箱來統計的。
$ git config user.name
$ git config user.email
$ git config --global user.name "username"
$ git config --global user.email "email"
常用命令 Git 常用命令大全
安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...
git 常用命令
檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...
git常用命令
詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...