一兼蜈、身份配置
身份配置的意義在于記錄開發(fā)者信息攘残,以便在版本控制記錄開發(fā)者的操作行為。
1为狸、查看身份
// 查看昵稱
git config user.name
// 查看郵箱地址
git config user.email
2肯腕、設置身份
// 設置當前倉庫
git config user.name "昵稱"
git config user.email "郵箱地址"
// 設置本機所有倉庫
git config --global user.name "昵稱"
git config --global user.email "郵箱地址"
其中--global
的作用是配置當前用戶所有倉庫,這樣的情況下配置1次,它會全局共享,之后在其他倉庫使用時不需要在配置了。
3、修改身份
// 修改昵稱
git config --global --replace-all user.name "昵稱"
// 修改郵箱地址
git config --global --replace-all user.email "郵箱地址"
實際操作:
二朋蔫、git本地倉庫操作
1青扔、初始化倉庫
想要利用git進行版本控制黎茎,需要將現(xiàn)有項目初始化為一個倉庫嗅骄,或者將一個已有的使用git進行版本控制的倉庫克隆到本地屏积。
git init
會在當前項目目錄中創(chuàng)建一個名為.git的隱藏目錄,這個目錄包含了暫存區(qū)和倉庫兩個區(qū)域,有了這個隱藏目錄就可以使用git來管理項目了,通過ls -al
可以查看。
git init
2苍息、查看文件狀態(tài)
初始化倉庫后便可以進行開發(fā)了爆办,進入到剛剛創(chuàng)建好并初始為倉庫的目錄爆土,添加我們開發(fā)需要的文件
通過git status
可以檢測當前倉庫文件的狀態(tài),
注意:
會忽略掉空目錄
如果當前目錄下面的指定文件夾下面也有一些未追蹤的文件蛉幸,也會提示該文件夾有相關內容
Untracked files:以下都是未追蹤的文件
Changes to be committed:以下都是位于暫存區(qū)的文件
modified:表示這是一個已修改的文件
Git中文件的幾種狀態(tài):
(1)未標記(未追蹤)
在git管理的目錄中锌蓄,創(chuàng)建文件灵汪、修改文件荧琼、刪除文件這些操作都不會被記錄累舷,要想文件被記錄必須通過某個命令
Untracked files:里面都是未追蹤的文件
(2)已提交
該文件已經被git管理起來贴谎,接下來對該文件進行相關操作就可以實現(xiàn)版本控制的效果
(3)已修改
某個文件已經被提交到暫存區(qū)過了溯香,如果對文件進行修改算途,該文件的狀態(tài)就是已修改
image.png
modified:表示這是一個已修改的文件
(4)已暫存
某個文件已經被提交到暫存區(qū)了,并且沒有修改癞揉,修改了就是已修改狀態(tài)
3岩遗、設置文件不讓git管理
(1)在.git所在目錄(和.git平級,而不是在.git里面)添加一個文件,叫 .gitignore
無法在文件夾中直接添加颜武,會報錯
需要用git命令添加
(2)打開.gitignore進行編輯,一行一行的添加不需要git管理的文件
比如不想讓git管理文件1.txt
修改前:
在.gitignore添加1.txt后:
因為.gitignore是為了1.txt不讓git管理而添加的蹋岩,也不想讓git管理.gitignore乎折,所以要加上.gitignore
在.gitignore添加.gitignore后:
在.gitignore添加如下內容:
git不會管理1.txt矩桂、.gitignore、css文件夾下的2.txt
4饲齐、添加文件到暫存區(qū)
把已開發(fā)的部分暫存起來等待提交
git add 文件路徑/文件名
git add *
git add -A
“*”或-A代表提交本工作區(qū)內的全部內容
可以將一個未追蹤的文件放入暫存區(qū)钉凌,也可以將一個已修改的文件放入暫存區(qū)
注意:
(1)可以表示添加文件
(2)可以表示修改文件
(3)可以表示刪除文件
綜上:git add
表示把工作區(qū)內的變化添加到暫存區(qū)
5、撤銷已經添加到暫存區(qū)的文件
(1)一個文件已經放入暫存區(qū)捂人,從暫存區(qū)恢復到修改前的狀態(tài)
工作區(qū)里已經是修改的文件御雕,希望從暫存區(qū)恢復該文件到修改前的狀態(tài)
git checkout -- 文件路徑/文件名
注意:-- 文件路徑/文件名 中間有個空格
注意:將文件從暫存區(qū)取出,并替換工作區(qū)文件
(2)一個文件已經添加到暫存區(qū)先慷,并且該文件沒有被修改過,可以從暫存區(qū)取出
git reset HEAD 文件路徑/文件名
注意:只是將文件從暫存區(qū)中取出咨察,但是并不用
6论熙、將暫存區(qū)的內容放入本地主倉庫(提交文件)
將暫存區(qū)被標記成綠色的文件,全部提交到本地倉庫存儲
每一次提交到本地倉庫都必須輸入備注信息
(1)git commit -m 備注的信息
git commit -m 備注的信息
(2)git commit+vi編輯器
如果不輸入備注信息會提示一個vi編輯器摄狱,在vi編輯器中提示輸入備注信息
git commit
會自動跳轉到vi編輯器:
輸入備注信息:如“第2次修改”
按esc退出輸入狀態(tài)脓诡,輸入:w保存无午,輸入:q退出vi編輯器,得到:
7祝谚、刪除本地倉庫中保存的文件
(1)第一種方法:
git rm xxx
git commit -m
(2)第二種方法:
rm xxx
git add xxx
git commit -m
8宪迟、查看日志記錄
(1)查看提交日志詳細信息
git log
(2)查看提交日志簡略顯示
git log --oneline
(3)查看歷史記錄
這些歷史記錄包括:每一次提交的信息;以及每一次版本回滾的操作
git reflog
9交惯、版本回退(時光倒流)
通過查看提交歷史中的某個版本的commit 的唯一標記值可以回到之前某一次的提交
將文件從本地主倉庫中恢復次泽,取出來的文件替換工作區(qū)的文件
(1)回到以前的“第2次修改#”版本
git reset --hard 提交的版本號(可以只寫前幾位)
操作前:
操作后:
(2)再次回到“第4次更新”版本
先通過查看日志記錄git reflog
,找到“第4次更新”版本的唯一標記號
注意:此時通過git log
找不到“第4次更新”版本的唯一標記號
再通過git reset --hard 提交的版本號
回到“第4次更新”版本
10席爽、比較文件差異
(1) git diff
先比較工作目錄和暫存區(qū)的代碼比較
如果暫存區(qū)沒有文件意荤,則將工作區(qū)和最近一次提交的代碼進行對比
(2) git diff --cached
將暫存區(qū)的文件和工作區(qū)的文件進行對比