git倉庫配置及倉庫特性詳解
一、git倉庫初始化
git init 把當(dāng)前所在目錄變成git工作目錄 git config ‐‐global 使用全局配置文件 ‐‐system 使用系統(tǒng)級(jí)配置文件 ‐‐local 使用版本庫級(jí)配置文件 #定義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
解釋:給指定的級(jí)別的指定config增加一個(gè)值
示例:
[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 (只針對(duì)存在唯一值的情況)
為了測(cè)試先增加一個(gè)
[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
刪除這個(gè)唯一值,查看效果
[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 有多個(gè)取值
error: 無法用一個(gè)值覆蓋多個(gè)值
使用一個(gè)正則表達(dá)式、--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
查詢指定級(jí)別下: 實(shí)際生效的配置值
[root@zutuanxue git_data]# git config --global user.name
aaa
二、git倉庫數(shù)據(jù)管理機(jī)狀態(tài)
創(chuàng)建數(shù)據(jù)-提交數(shù)據(jù)
本地倉庫可以理解為工作目錄下.git/objects
- git提交數(shù)據(jù)到倉庫流程:
1. 先git add把新文件提交到暫存區(qū) 2. 再git commit 存到倉庫 3. 最后使用git push提交到遠(yuǎn)程倉庫;
- 用戶使用則通過以下命令拉取到本地
1. 使用git clone/git pull將數(shù)據(jù)同步到本地倉庫,再使用相關(guān)命令進(jìn)行操作
git四種狀態(tài)
untracked:未跟蹤的,也就是一個(gè)文件沒有被git管理、監(jiān)控起來unmodified:未修改的modified:已修改的staged:已暫存的
你工作目錄下的每一個(gè)文件都不外乎這兩種狀態(tài):已跟蹤 或 未跟蹤。 已跟蹤的文件是指那些被納入了版本控制的文件,在上一次快照中有它們的記錄,在工作一段時(shí)間后, 它們的狀態(tài)可能是未修改,已修改或已放入暫存區(qū)。簡(jiǎn)而言之,已跟蹤的文件就是 Git 已經(jīng)知道的文件。
工作目錄中除已跟蹤文件外的其它所有文件都屬于未跟蹤文件,它們既不存在于上次快照的記錄中,也沒有被放 入暫存區(qū)。 初次克隆某個(gè)倉庫的時(shí)候,工作目錄中的所有文件都屬于已跟蹤文件,并處于未修改狀態(tài),因?yàn)?Git 剛剛檢出了它們, 而你尚未編輯過它們。
編輯過某些文件之后,由于自上次提交后你對(duì)它們做了修改,Git 將它們標(biāo)記為已修改文件。 在工作時(shí),你可以 選擇性地將這些修改過的文件放入暫存區(qū),然后提交所有已暫存的修改,如此反復(fù)。
檢查當(dāng)前文件狀態(tài)
我們可以使用git status檢查文件的狀態(tài)
[root@zutuanxue git]# git status 位于分支 master 尚無提交 無文件要提交(創(chuàng)建/拷貝文件并使用 "git add" 建立跟蹤) #這說明你現(xiàn)在的工作目錄相當(dāng)干凈。換句話說,所有已跟蹤文件在上次提交后都未被更改過。 此外,上面的信 息還表明,當(dāng)前目錄下沒有出現(xiàn)任何處于未跟蹤狀態(tài)的新文件,否則 Git 會(huì)在這里列出來。
在項(xiàng)目下創(chuàng)建一個(gè)新的 README 文件。 如果之前并不存在這個(gè)文件,使用 git status 命令,你將看到一個(gè)新的未跟蹤文件:
[root@zutuanxue git]# echo test > README [root@zutuanxue git]# git status 位于分支 master 尚無提交 未跟蹤的文件: (使用 "git add <文件>..." 以包含要提交的內(nèi)容) README 提交為空,但是存在尚未跟蹤的文件(使用 "git add" 建立跟蹤)
在狀態(tài)報(bào)告中可以看到新建的 README 文件出現(xiàn)在 “未跟蹤的文件” 下面。 未跟蹤的文件意味著 Git 在之前 的快照(提交)中沒有這些文件;Git 不會(huì)自動(dòng)將之納入跟蹤范圍,除非你明明白白地告訴它“我需要跟蹤該文件”。
跟蹤新文件
[root@zutuanxue git]# git add README [root@zutuanxue git]# git status 位于分支 master 尚無提交 要提交的變更: (使用 "git rm --cached <文件>..." 以取消暫存) 新文件: README
只要在 Changes to be committed 或者“要提交的變更”這行下面的,就說明是已暫存狀態(tài)。 如果此時(shí)提交,那么該文件在你運(yùn) 行g(shù)it add時(shí)的版本將被留存在后續(xù)的歷史記錄中。
暫存已修改的文件
[root@zutuanxue git]# echo aaa >> README [root@zutuanxue git]# git status 位于分支 master 尚無提交 要提交的變更: (使用 "git rm --cached <文件>..." 以取消暫存) 新文件: README 尚未暫存以備提交的變更: (使用 "git add <文件>..." 更新要提交的內(nèi)容) (使用 "git checkout -- <文件>..." 丟棄工作區(qū)的改動(dòng)) 修改: README
現(xiàn)在我們來修改一個(gè)已被跟蹤的文件。出現(xiàn)在Changes not staged for commit或者“尚未暫存以備提交的變更”這行下面,說明已跟蹤文件的內(nèi)容發(fā)生了變化,但還沒有放到暫存區(qū)。 要暫存這次更新,需要運(yùn)行 git add 命令。
這是個(gè)多功能命令:可以用它開 始跟蹤新文件,或者把已跟蹤的文件放到暫存區(qū),還能用于合并時(shí)把有沖突的文件標(biāo)記為已解決狀態(tài)等。再次使用git status -s查看
[root@zutuanxue git]# git status -s A README ################ ?? 新添加的未跟蹤文件 A 新添加到暫存區(qū)中的文件 M 修改過的文件
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Git基礎(chǔ)學(xué)習(xí)之標(biāo)簽tag的使用詳解
標(biāo)簽對(duì)象(tag?object)?非常類似于一個(gè)提交對(duì)象,它包含一個(gè)標(biāo)簽創(chuàng)建者信息、一個(gè)日期、一段注釋信息,以及一個(gè)指針。本文主要介紹了Git?標(biāo)簽tag的使用,需要的可以參考一下2022-10-10
低版本VS項(xiàng)目在VS2019無法正常編譯的問題
這篇文章主要介紹了低版本VS項(xiàng)目在VS2019無法正常編譯的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
ASCII碼對(duì)照表以及各個(gè)字符的解釋(精華版)
ASCII(American Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼)是一套基于拉丁字母的字符編碼,共收錄了 128 個(gè)字符,用一個(gè)字節(jié)就可以存儲(chǔ),它等同于國際標(biāo)準(zhǔn) ISO/IEC 6462020-03-03

