痞子衡嵌入式:第一本Git命令教程(1)- 準備(init/config/.gitignore)

痞子衡發表於2016-12-05

  今天是Git系列課程第一課,痞子衡給大家要講的是建立倉庫的準備工作。

1.建倉庫git init

  第一步是建立一個空倉庫,這是一切操作的前提。

// 開啟git bash命令列,切換到指定目錄下
jay@pc MINGW64 /
$ cd /d/my_project/

// 在指定目錄下建立存放repo的資料夾,示例為gittest
jay@pc MINGW64 /d/my_project
$ mkdir gittest

// 切換到gittest目錄下
jay@pc MINGW64 /d/my_project
$ cd gittest/

// 使用git init命令建立一個空倉庫
jay@pc MINGW64 /d/my_project/gittest
$ git init

Initialized empty Git repository in D:/my_project/gittest/.git/

  空倉庫建立完成後gittest資料夾下會生成一個.git隱藏資料夾。倉庫預設包含一個主支,即master,預設操作都是在主分支master上進行的。

2.配置倉庫資訊git config

  有了空倉庫,我們便可以進行後續提交操作,但在提交之後需要做一些必要配置,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引數配置是否生效
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兩個必要使用者資訊後,後續任何提交都會預設包含此使用者資訊。

3.設定過濾檔案.gitignore

  有了倉庫,我們便可以在gittest資料夾下的工作區做檔案增刪修改工作了,但很多時候,我們只在意開發過程中的原始檔,並不需要管理自動產生的其他臨時檔案。這時候我們便需要一個過濾檔案,在這個檔案中設定過濾規則,讓Git能夠自動過濾掉那些臨時檔案,這個檔案便是.gitignore檔案。

// 建立空的gitignore檔案
jay@pc MINGW64 /d/my_project/gittest (master)
$ touch .gitignore

// 文字編輯器開啟gitignore檔案,寫入過濾規則

/project/demo.o       #過濾具體檔案demo.o
/project/settings/    #過濾整個settings資料夾
*.o                   #過濾所有.o檔案

  上面僅列舉了3種常用的過濾規則,可根據下面的過濾配置語法組合出任意你想要的過濾規則。

  • 以斜槓“/”開頭表示目錄
  • 以星號“*”通配多個字元
  • 以問號“?”通配單個字元
  • 以方括號“[]”包含單個字元的匹配列表
  • 以歎號“!”表示不忽略(跟蹤)匹配到的檔案或目錄

  如果希望設定的過濾規則不僅僅對本地倉庫的操作有效,也希望對其他機器上該倉庫的操作有效,可以.gitignore提交到倉庫中並且推送到遠端,提交及推送操作後續會介紹。

相關文章