今天是 Git 系列課程第一課,痞子衡給大家要講的是創(chuàng)建倉庫的準備工作。
1. 建倉庫 git init
第一步是創(chuàng)建一個空倉庫,這是一切操作的前提。
// 打開 git bash 命令行,切換到指定目錄下
jay@pc MINGW64 /
$ cd /d/my_project/
// 在指定目錄下創(chuàng)建存放 repo 的文件夾,示例為 gittest
jay@pc MINGW64 /d/my_project
$ mkdir gittest
// 切換到 gittest 目錄下
jay@pc MINGW64 /d/my_project
$ cd gittest/
// 使用 git init 命令創(chuàng)建一個空倉庫
jay@pc MINGW64 /d/my_project/gittest
$ git init
Initialized empty Git repository in D:/my_project/gittest/.git/
空倉庫創(chuàng)建完成后 gittest 文件夾下會生成一個 .git 隱藏文件夾。倉庫默認包含一個主支,即 master,默認操作都是在主分支 master 上進行的。
2. 配置倉庫信息 git config
有了空倉庫,我們便可以進行后續(xù)提交操作,但在提交之后需要做一些必要配置,Git 的配置從上到下分三層 system/global/local,此處我們僅用 local 選項對當前倉庫操作做配置(即配置只對當前倉庫有效)。
// 設置提交代碼時的 local 用戶信息(用戶名,email 地址)
jay@pc MINGW64 /d/my_project/gittest (master)
$ git config --local user.name "Jay Heng"
jay@pc MINGW64 /d/my_project/gittest (master)
$ git config --local user.email "hengjie1989@foxmail.com"
// 查看 local 層次的 config 參數(shù)配置是否生效
jay@pc MINGW64 /d/my_project/gittest (master)
$ git config --local --list
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
user.name=Jay Heng
user.email=hengjie1989@foxmail.com
設置好 user.name, user.email 兩個必要用戶信息后,后續(xù)任何提交都會默認包含此用戶信息。
3. 設置過濾文件 .gitignore
有了倉庫,我們便可以在 gittest 文件夾下的工作區(qū)做文件增刪修改工作了,但很多時候,我們只在意開發(fā)過程中的源文件,并不需要管理自動產(chǎn)生的其他臨時文件。這時候我們便需要一個過濾文件,在這個文件中設置過濾規(guī)則,讓 Git 能夠自動過濾掉那些臨時文件,這個文件便是 .gitignore 文件。
// 創(chuàng)建空的 gitignore 文件
jay@pc MINGW64 /d/my_project/gittest (master)
$ touch .gitignore
// 文本編輯器打開 gitignore 文件,寫入過濾規(guī)則
/project/demo.o #過濾具體文件 demo.o
/project/settings/ #過濾整個 settings 文件夾
*.o #過濾所有 .o 文件
上面僅列舉了 3 種常用的過濾規(guī)則,可根據(jù)下面的過濾配置語法組合出任意你想要的過濾規(guī)則。
以斜杠“/”開頭表示目錄
以星號“*”通配多個字符
以問號“?”通配單個字符
以方括號“[]”包含單個字符的匹配列表
以嘆號“!”表示不忽略(跟蹤)匹配到的文件或目錄
如果希望設置的過濾規(guī)則不僅僅對本地倉庫的操作有效,也希望對其他機器上該倉庫的操作有效,可以 .gitignore 提交到倉庫中并且推送到遠程,提交及推送操作后續(xù)會介紹。