Git初始化之創建版本庫及第一次提交
你當前使用的Git是哪個版本?可以通過如下的命令可以知道:
$ git --version git version 1.9.1
在開始Git之旅之前,我們需要設置一下Git的配置變量,這是一次性的工作。即這些設置會在全局文件(用戶主目錄下的.gitconfig)或系統文件(如 /etc/gitconfig)中做永久的記錄。
1. 告訴Git當前用戶的姓名和郵件地址,配置的用戶名和郵件地址將在版本庫提交時用到。命令如下:
$ git config --global user.name fuhd $ git config --global user.email 001fhd@163.com
注:該命令會把user.name,user.email信息寫入到用戶主目錄下的.gitconfig文件中。
2. 設置一些Git別名,以便可以使用更為簡潔的子命令。
例如:輸入git ci即相當于git commit,輸入git st即相當于git status。如果擁有系統管理員權限(例如通過執行sudo命令獲取管理員權限),希望注冊的命令別名能夠被所有用戶使用,可以執行如下命令:
$ sudo git config --system alias.st status $ sudo git config --system alias.ci commit $ sudo git config --system alias.co checkout $ sudo git config --system alias.br branch
注:這些命令會把信息寫入 /etc/gitconfig文件中。另外,也可以運行下面的命令,只在本用戶的全局配置中添加Git命令別名:
$ git config --global alias.st status $ git config --global alias.ci commit $ git config --global alias.co checkout $ git config --global alias.br branch
注:該命令會把信息寫入到用戶主目錄下的.gitconfig文件中。
3. 在Git命令輸出中開啟顏色顯示。
$ git config --global color.ui true
注:該命令會把信息寫入到用戶主目錄下的.gitconfig文件中。
Git的所有操作,包括創建版本庫等管理操作用git一個命令即可完成,不像其他版本控制系統(如Subversion),與管理相關的操作要使用另外的命令(如svnadmin)。創建Git版本庫,可以直接進入到工作目錄中,通過執行git init命令完成版本庫的初始化。
下面就從一個空目錄開始初始化版本庫,為了方便說明,我們使用名為 /path/to/my/workspace的目錄作為個人的共作區根目錄,可以在磁盤中創建目錄并設置正確的權限。 首先,建立一個新的工作目錄,進入該目錄后,執行 git init創建版本庫:
$ cd /path/to/my/workspace $ mkdir demo $ cd demo $ git init 初始化空的 Git 版本庫于 /path/to/my/workspace/demo/.git/
實際上,如果Git的版本是1.6.5或更新的版本,可以在 git init 命令的后面直接輸入目錄名稱,自動完成目錄的創建:
$ cd /path/to/my/workspace $ git init demo 初始化空的 Git 版本庫于 /path/to/my/workspace/demo/.git/
從上面版本庫初始化后的輸出中可以看到,git init命令在工作區創建了隱藏目錄 .git。這個隱藏的 .git 目錄就是Git版本庫(又叫倉庫,repository)。.git版本庫所在的目錄為 /path/to/my/workspace/demo,它被稱為工作區,目前工作區除了包含一個隱藏的.git版本庫目錄外空無一物。
下面為工作區中加點料:在工作區中創建一個文件welcome.txt,內容就是一行“Hello.”。
$ echo "Hello." > welcome.txt
為了將這個新建立的文件添加到版本庫,需要執行下面的命令:
$ git add welcome.txt
注意,到這里還沒有完。Git和大部分其他版本控制系統一樣,都需要再執行一次提交操作,對于Git來說就是執行 git commit 命令完成提交。在提交過程中需要輸入提交說明,這個要求對于Git來說是強制性的,不像其他很多版本控制系統(如CVS和Subversion)那樣接受空白的提交說明。當Git提交時,如果不在命令行提供提交說明(使用 -m 參數),Git會自動打開一個編輯器,要求你在其中輸入提交說明,輸入完畢后保存并退出。
下面進行提交,為了說明方便,使用 -m 參數直接給出了提交說明。
$ git ci -m "initialized." [master (根提交) 57ceaad] initlalized. 1 file changed, 1 insertion(+) create mode 100644 welcome.txt
從上面的命令及輸出中可以看出:
-
命令 git ci 實際上相當于 git commit,這是因為之前為Git設置了命令別名。
</li> -
通過 -m 參數設置提交說明為:"initialized."。
</li> -
從命令輸出的第一行可以看出,此次提交是提交在名為master的分支上,且是該分支的第一個提交(根提交),提交ID為57ceaad。
</li> -
從命令輸出的第二行可以看出,此次提交修改了一個文件,包含一行的插入。
</li> -
從命令輸出的第三行可以看出,此次提交創建了新文件welcome.txt。