基本命令的使用
查看git的當(dāng)前版本
git -v
初始化配置
–local: 配置對當(dāng)前倉庫有效
–global: 配置對當(dāng)前用戶(指的是當(dāng)前用于登錄系統(tǒng)的用戶)的所有倉庫有效
設(shè)置用戶名及郵箱
git config --global user.name "xiao Ai"
git config --global user.email 12345678.@qq.com
注意:由于此處設(shè)置的用戶名中間有空格所以要使用雙引號,正常設(shè)置時無需使用雙引號
設(shè)置倉庫的認(rèn)證方式
git config --global credentail.helper store
credentail.helper后的參數(shù)可選:
- cache: 在第一次輸入認(rèn)證憑據(jù)后會將其存儲在緩存中,短期內(nèi)不需要重復(fù)輸入。
- store: 將憑據(jù)保存在.gitcredentail文件中。除非修改了git服務(wù)器上的密碼,否則在第一次輸入認(rèn)證憑據(jù)后就再也不用輸入。
查看當(dāng)前配置
git config --global --list
創(chuàng)建倉庫
從遠(yuǎn)程服務(wù)器克隆倉庫
git clone https://github.com/xiaoAi1234/xue-cheng-plus #遠(yuǎn)程倉庫的url地址
創(chuàng)建本地倉庫
創(chuàng)建本地倉庫前先要進入自己想要作為本地倉庫的文件夾下,再使用git命令將該文件夾變成本地倉庫。
git init
或者使用如下命令,從而在當(dāng)前路徑下新建一個名為test的文件夾并將其作為本地倉庫。
git init test
添加和提交文件
在學(xué)習(xí)添加和提交文件前,我們需要先了解一下git的工作區(qū)域和文件狀態(tài)。
工作區(qū)域和文件狀態(tài)
工作區(qū)域
- 工作區(qū):也叫本地工作目錄,就是電腦中的文件夾。
- 暫存區(qū):也叫索引,用于保存即將提交到git倉庫的內(nèi)容。
- 本地倉庫:存儲代碼和版本信息。
文件狀態(tài)
- 未跟蹤:文件未被git管理 (文件在git status命令下提示為紅色)
- 未修改:文件已被git管理但文件內(nèi)容未發(fā)生變化
- 已修改:文件內(nèi)容發(fā)生變化但還未添加到暫存區(qū)
- 已暫存:文件內(nèi)容發(fā)生變化并添加到了暫存區(qū)內(nèi) (文件在git status命令下提示為綠色)
查看文件狀態(tài)及分支信息
git status
該命令可查看工作區(qū)及暫存區(qū)中文件的狀態(tài),其中:
紅色=》未跟蹤文件
綠色=》已暫存文件
同時還會提示當(dāng)前所處分支及相關(guān)信息
查看暫存區(qū)的內(nèi)容
git ls-files
添加文件
將文件添加到暫存區(qū),同時文件狀態(tài)將變?yōu)橐褧捍妗?/p>
git add 1.txt
添加文件時也可以使用通配符來批量添加文件,如下所示。
git add *.txt
添加當(dāng)前目錄下所有文件
git add .
如果想移除暫存區(qū)的文件可使用如下命令
git rm --cached 1.txt
提交文件
將暫存區(qū)的文件提交到倉庫,-m后跟的是本次提交的相關(guān)信息。
git commit -m "第一次提交"
查看提交日志
使用如下命令會顯示每次提交的提交者,郵箱,提交日期,相關(guān)信息及版本號
git log
想要查看更簡潔的日志可使用如下命令。該命令僅顯示每次提交的相關(guān)信息及版本號
git log --oneline
回退版本
git reset --soft 5af90b8 #要退回到的版本號,也可以為^HARD即退回到上一個版本。
reset后可接參數(shù):
- soft: 回退版本,但不清空工作區(qū)和暫存區(qū)內(nèi)容
- mixed: 回退版本,清空暫存區(qū)內(nèi)容但不清空工作區(qū)內(nèi)容
- hard: 回退版本,同時清空暫存區(qū)和工作區(qū)內(nèi)容
soft與mixed的使用場景:
可對倉庫進行多次回退,然后再一次性提交暫存區(qū)中的內(nèi)容,從而實現(xiàn)將之前提交的多個版本合并成一個版本。
但這里如果是使用mixed在提交前需要先用“git add"命令將工作區(qū)內(nèi)容添加到暫存區(qū)。
hard的使用場景:
確認(rèn)真的需要回退到上一個版本并在后續(xù)基于上一個版本進行代碼開發(fā)時。
撤銷操作
可以先通過如下命令查看執(zhí)行過的git操作,從而找到誤操作之前的版本號
git reflog
用reset命令回到之前的版本號
git reset --hard 5af90b8
差異比較
比較工作區(qū)與暫存區(qū)的差異
git diff
比較工作區(qū)和版本庫差異
git diff HEAD
比較暫存區(qū)和版本庫差異
git diff --cached
比較版本庫中兩個版本的差異
#用法1
git diff 版本一ID 版本二ID
#用法2,此處HEAD指向最新版本
git diff 版本一ID HEAD
#用法3,此處HEAD指向最新版本,HEAD~指向上一個版本,HEAD~3則表示在HEAD前的三個版本
git diff HEAD~ HEAD
#用法4,指定比較特定文件的版本
git diff HEAD~ HEAD file.txt
執(zhí)行差異比較的結(jié)果:
下圖提示了file3.txt文件中的內(nèi)容差異
紅色為刪除內(nèi)容,綠色為添加的內(nèi)容。
刪除文件
# 操作1, 僅能將文件從工作區(qū)刪除。使用git add后才能將信息同步到暫存區(qū);使用git commit后才能將信息同步到版本庫。
rm file.txt
# 操作2, 將文件從工作區(qū)和暫存區(qū)刪除。使用git commit后才能將信息同步到版本庫。
git rm file.txt
分支相關(guān)操作
# 查看當(dāng)前倉庫的所有分支
git branch
# 新建分支
git branch hhh
# 切換到不同分支。但由于checkout也有恢復(fù)文件的作用,所以當(dāng)分支名與文件名相同時會產(chǎn)生歧義,默認(rèn)為切換分支
git checkout h1
# git在2.23版本后專門切換分支的命令
git switch h1
# 若當(dāng)前分支為h2,則會將分支h1合并到h2中。注意:雖然分支被合并但它仍然存在于倉庫中
git merge h1
# 查看分支圖
git log --graph --oneline --decorate --all
# 刪除已合并分支
git branch -d h1
# 強制刪除分支,不管該分支是否合并
git branch -D h2
代碼沖突
原因
兩個分支修改了同一行代碼文章來源:http://www.zghlxwxcb.cn/news/detail-850676.html
解決方案
#1.查看發(fā)生沖突的文件
git status
#2.查看沖突的具體內(nèi)容
git diff
#3.退出沖突查看頁面
進入末行模式后,輸入wq
#4.對沖突文件進行修改
cat 1.txt
#5.提交合并后的文件
git add .
git commit -m "merge"
ps: 在提交前也可選擇中斷本次合并文章來源地址http://www.zghlxwxcb.cn/news/detail-850676.html
git merge --abort
到了這里,關(guān)于Git_常用命令+代碼沖突解決方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!