git倉庫配置及倉庫特性詳解
一、git倉庫初始化
git init 把當前所在目錄變成git工作目錄 git config ‐‐global 使用全局配置文件 ‐‐system 使用系統(tǒng)級配置文件 ‐‐local 使用版本庫級配置文件 #定義git用戶 [root@zutuanxue ~]# git config --global user.name "hello" #定義git使用的郵箱 [root@zutuanxue ~]# git config --global user.email "hello@localhost #定義語法高亮 [root@zutuanxue ~]# git config --global color.ui true #查看定義的信息 [root@zutuanxue ~]# git config --list user.name=hello user.email=hello@localhost color.ui=true
git 配置文件管理
1、新建配置文件
git config --global --add configName configValue
解釋:給指定的級別的指定config增加一個值
示例:
[root@zutuanxue git_data]# git config --global --add user.name test
[root@zutuanxue git_data]# git config --global --list
user.name=hello
user.email=hello@localhost
user.name=test
color.ui=true
2、刪除配置文件
git config --global --unset configName (只針對存在唯一值的情況)
為了測試先增加一個
[root@zutuanxue git_data]# git config --global --add alias.test "aaaaa"
[root@zutuanxue git_data]# git config --global --list
user.name=hello
user.email=hello@localhost
user.name=test
color.ui=true
alias.test=aaaaa
刪除這個唯一值,查看效果
[root@zutuanxue git_data]# git config --global --unset alias.test
[root@zutuanxue git_data]# git config --global --list
user.name=hello
user.email=hello@localhost
user.name=test
color.ui=true
3、修改配置文件
git config --global configName configValue
[root@zutuanxue git_data]# git config --global --list
user.name=hello
user.email=hello@localhost
user.name=test
color.ui=true
[root@zutuanxue git_data]# git config --global user.name aaa
warning: user.name 有多個取值
error: 無法用一個值覆蓋多個值
使用一個正則表達式、--add 或 --replace-all 來修改 user.name。
[root@zutuanxue git_data]# git config --global --replace-all user.name aaa
[root@zutuanxue git_data]# git config --global --list
user.email=hello@localhost
user.name=aaa
color.ui=true
4、查看配置文件
git config --global configName
查詢指定級別下: 實際生效的配置值
[root@zutuanxue git_data]# git config --global user.name
aaa
二、git倉庫數(shù)據管理機狀態(tài)
創(chuàng)建數(shù)據-提交數(shù)據
本地倉庫可以理解為工作目錄下.git/objects
- git提交數(shù)據到倉庫流程:
1. 先git add把新文件提交到暫存區(qū) 2. 再git commit 存到倉庫 3. 最后使用git push提交到遠程倉庫;
- 用戶使用則通過以下命令拉取到本地
1. 使用git clone/git pull將數(shù)據同步到本地倉庫,再使用相關命令進行操作
git四種狀態(tài)
untracked:未跟蹤的,也就是一個文件沒有被git管理、監(jiān)控起來unmodified:未修改的modified:已修改的staged:已暫存的
你工作目錄下的每一個文件都不外乎這兩種狀態(tài):已跟蹤 或 未跟蹤。 已跟蹤的文件是指那些被納入了版本控制的文件,在上一次快照中有它們的記錄,在工作一段時間后, 它們的狀態(tài)可能是未修改,已修改或已放入暫存區(qū)。簡而言之,已跟蹤的文件就是 Git 已經知道的文件。
工作目錄中除已跟蹤文件外的其它所有文件都屬于未跟蹤文件,它們既不存在于上次快照的記錄中,也沒有被放 入暫存區(qū)。 初次克隆某個倉庫的時候,工作目錄中的所有文件都屬于已跟蹤文件,并處于未修改狀態(tài),因為 Git 剛剛檢出了它們, 而你尚未編輯過它們。
編輯過某些文件之后,由于自上次提交后你對它們做了修改,Git 將它們標記為已修改文件。 在工作時,你可以 選擇性地將這些修改過的文件放入暫存區(qū),然后提交所有已暫存的修改,如此反復。
檢查當前文件狀態(tài)
我們可以使用git status檢查文件的狀態(tài)
[root@zutuanxue git]# git status 位于分支 master 尚無提交 無文件要提交(創(chuàng)建/拷貝文件并使用 "git add" 建立跟蹤) #這說明你現(xiàn)在的工作目錄相當干凈。換句話說,所有已跟蹤文件在上次提交后都未被更改過。 此外,上面的信 息還表明,當前目錄下沒有出現(xiàn)任何處于未跟蹤狀態(tài)的新文件,否則 Git 會在這里列出來。
在項目下創(chuàng)建一個新的 README 文件。 如果之前并不存在這個文件,使用 git status 命令,你將看到一個新的未跟蹤文件:
[root@zutuanxue git]# echo test > README [root@zutuanxue git]# git status 位于分支 master 尚無提交 未跟蹤的文件: (使用 "git add <文件>..." 以包含要提交的內容) README 提交為空,但是存在尚未跟蹤的文件(使用 "git add" 建立跟蹤)
在狀態(tài)報告中可以看到新建的 README 文件出現(xiàn)在 “未跟蹤的文件” 下面。 未跟蹤的文件意味著 Git 在之前 的快照(提交)中沒有這些文件;Git 不會自動將之納入跟蹤范圍,除非你明明白白地告訴它“我需要跟蹤該文件”。
跟蹤新文件
[root@zutuanxue git]# git add README [root@zutuanxue git]# git status 位于分支 master 尚無提交 要提交的變更: (使用 "git rm --cached <文件>..." 以取消暫存) 新文件: README
只要在 Changes to be committed 或者“要提交的變更”這行下面的,就說明是已暫存狀態(tài)。 如果此時提交,那么該文件在你運 行git add時的版本將被留存在后續(xù)的歷史記錄中。
暫存已修改的文件
[root@zutuanxue git]# echo aaa >> README [root@zutuanxue git]# git status 位于分支 master 尚無提交 要提交的變更: (使用 "git rm --cached <文件>..." 以取消暫存) 新文件: README 尚未暫存以備提交的變更: (使用 "git add <文件>..." 更新要提交的內容) (使用 "git checkout -- <文件>..." 丟棄工作區(qū)的改動) 修改: README
現(xiàn)在我們來修改一個已被跟蹤的文件。出現(xiàn)在Changes not staged for commit或者“尚未暫存以備提交的變更”這行下面,說明已跟蹤文件的內容發(fā)生了變化,但還沒有放到暫存區(qū)。 要暫存這次更新,需要運行 git add 命令。
這是個多功能命令:可以用它開 始跟蹤新文件,或者把已跟蹤的文件放到暫存區(qū),還能用于合并時把有沖突的文件標記為已解決狀態(tài)等。再次使用git status -s查看
[root@zutuanxue git]# git status -s A README ################ ?? 新添加的未跟蹤文件 A 新添加到暫存區(qū)中的文件 M 修改過的文件
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

