一、git簡介
git是一個開源的分布式版本控制系統,可以高效的進行項目版本管理。分布式相比集中式最大的區別在於:分布式開發者可以提交到本地,每個開發者通過克隆在本地機器上拷貝一個完整的git倉庫。
二、git
官網的下載:https://git-scm.com/
安裝:直接一路下一步即可完成安裝。
安裝驗證:git --version
三、git用戶信息配置
查看配置信息:git config --global --list
新增配置信息:git config --global user.name 'wzx'
git config --global user.eamil 'wzx@163.com'
git config --global user.phone '123456789998'
四、建立git倉庫
情況1:沒有文件時
cd 具體目錄,右擊’Git Bash Here'
git init 項目名
情況2:已有文件時
cd 具體目錄
git init
五、本地倉庫
在沒有配置用戶信息時將會發出提示信息:
查看配置信息:git config --local --list
新增配置信息:git config --local user.name 'test2'
git config --local user.eamil 'test2@163.com'
git config --local user.phone '123456789998'
六、git提交版本
git add test1.txt
git commit -m '新建版本文檔'
git add .(將當前目錄下的所有文件都一起提交)
git commit -m '完畢'
查詢版本信息:git log
七、git版本狀態查看
查看狀態:git stuatus(當前所有的文件已提交到版本庫)
查看狀態:git stuatus(當前test1.txt文件在本地已修改但未提交)
查看狀態:git stuatus(當前test1.txt文件在本地已修改並且添加到了暫存區)
查看狀態:git stuatus(當前newfile.txt文件屬於新增文件)
查看狀態:git stuatus(當前newfile.txt文件屬於新增文件)
查看狀態:git stuatus -s(展示簡單信息,當前newfile.txt文件屬於新增文件並且未提交到暫存區),與上面展示內容相同
八、查看git歷史版本
查看歷史版本:git log
只顯示一行:git log --pretty=oneline
顯示版本之間的差別:git log -p
顯示最近5個版本:git log -5
顯示最近5個版本之間的差別:git log -5 -p
查看大體統計信息:git log --stat
九、gitignore忽略文件:忽略文件的作用是當提交文件時可以指定那些格式的文件將不會被提交到版本庫中。
步驟:新建一個.gitignore固有的文件夾,文件內容為需要忽略的文件
測試數據如下:
提交版本測試:git add . git commit -m "測試忽略文件"
十:版本比對:git diff(對比的文件指的是還沒有提交到緩存區的才可執行比對,git add后就會沒有區別)
注:紅色代表刪除了此內容。綠色代表新增的內容。白色指示相同部分。
注:add和commit可以縮寫成:git commit -a -m '表示新增和提交組成一個命令"
新版本與舊版本之間的比對:git dif 版本1 版本2
注:git diff --staged(比較的是以及加入暫存區的版本和其他版本的比較)
十一、git rm 刪除文件
修改了文件但是還沒有放入暫存區:git restore filename
以及放到緩存區的取消暫存區的狀態:git restore --staged filename
將已經提交到版本庫的文件刪除此時本地與版本控制系統都不存在:git rm file
刪除版本控制系統的文件刪除本地還是存在:git rm --cached file
正則匹配文件:git rm *.pyc
所有的刪除文件操作后也是需要git commit 去提交的。
十二、git mv 移動文件,移動文件時需要先確認文件夾已存在
移動文件:git mv 測試報告.doc /doc/測試報告cpoy.doc 后在需要執行提交到版本庫
十三、版本補錄git commit --amend:指的是已經提交了版本但是部分文件沒有加入版本庫
執行:git commit --amend -a (將文件添加到緩存區並提交到已有的版本庫,會提示是否修改版本信息,不修改的話執行wq!保存退出。若修改了版本信息則上次的版本信息會被修改。)
十四、給版本標簽:
git tag -a tagname -m "提交信息"
加上標簽后可以利用git show V5.1將會展示版本的詳細信息
git tag tagname 輕量標簽
git tag -a tagname 版本哈希值 -m "第一個版本的標簽補錄':將之前的版本補錄標簽信息
git show tagname:顯示當前標簽版本的詳細文件信息
git tag:顯示所有的標簽
git tag -l V*:顯示版本標簽以V開頭的信息
git tag -d tagname:刪除標簽信息
十五、檢出checkout
git checkout 版本號:切換到之前的某個版本(當切換到之前的某個版本時再執行git log 這個版本之后的版本將不再顯示)
git reflog:會顯示所有的版本記錄
git checkout 標簽名:根據標簽名進行檢出
十六、別名:git alias
git config --global alias.st 'status' ====》git status=git st
git config --global alias.last 'log -1 HEAD'====》git last=git log -1 HEAD
git config --global alias.oneline 'log --pretty=oneline'====》git oneline=git log --pretty=oneline
十七、git遠程地址
查詢當前版本是否為遠程地址,為空表名只是本地:git remote=git remote -v
添加到遠程地址:git remote add study https://github.com/wzx191212/study1.git
查詢遠程項目詳細信息:git remote show 遠程名稱
把本地內容推送到遠程倉庫保持同步:git push study master(study表示遠程名稱,master表示本地備份分支,默認都是master)
拉取遠程倉庫到本地:git fetch study(這個不推薦使用拉取到本地和文件不會合並)
拉取遠程倉庫到本地:git pull study master(推薦使用拉取到本地時文件會自動合並)
十八、遠程修改:git remote rename
文件的重命名:git remote rename 老文件 舊文件
文件的移除:git remote rm name
重新添加到遠程倉庫:git remote add study2 https://github.com/wzx191212/study1.git
十九、克隆遠程項目,針對新項目中可以部分復用以前項目的情況:git clone url
可以在本地新建文件夾后將以前的項目地址拉取到本地修改:git clone https://github.com/wzx191212/study1.git