1. Git緒論
git是一個(gè)開源的免費(fèi)的分布式版本控制系統(tǒng)。
git把內(nèi)容按照元數(shù)據(jù)方式存儲(chǔ);git沒有一個(gè)全局的版本號(hào);
版本控制系統(tǒng):在團(tuán)隊(duì)協(xié)作的過程中更加方便,最終直接合并就可以;
分布式版本控制工具:版本控制在本地進(jìn)行的;每一個(gè)客戶端都保存著一個(gè)完整的項(xiàng)目
集中式版本控制工具:CVS,SVN;中央服務(wù)器的
單點(diǎn)故障,
在互聯(lián)網(wǎng)的環(huán)境下:GitHub和Gitee碼云
在局域網(wǎng)的環(huán)境下:Gitlab
2. 安裝和配置
https://git-scm.com/(官網(wǎng)下載鏈接)
Git用戶個(gè)人信息配置:
$ git config --global user.name "runoob"
$ git config --global user.email test@runoob.com
文本編譯器
//設(shè)置Git默認(rèn)使用的文本編譯器,重新進(jìn)行設(shè)置
$ git config --global core.editor emacs
差異分析工具
//在解決合并沖突時(shí)使用哪種差異分析工具
$ git config --global merge.tool vimdiff
查看配置的信息
$ git congfig --list
或
$ vim ~/.gitconfig? ? //顯示配置的相關(guān)內(nèi)容
3. 工作流程
初始化本地倉庫
$ git init?
//生成隱藏文件.git文件
可以通過Ctrl+(.)點(diǎn)顯示
Linux可以通過ll -a查看
查看本地倉庫的狀態(tài)
$ git status
將項(xiàng)目添加暫存區(qū)
$ git add <file-name>
$ git rm --cached <file-name> ?? //刪除暫存區(qū)文件
將暫存區(qū)的文件提交到本地倉庫
$ git commit -m "日志信息" 文件名
補(bǔ)充:
//查看提交的歷史版本日志
$ git reflog
//查看詳細(xì)的版本信息
$ git log
修改文件之后再添加到暫存區(qū)然后提交到本地倉庫
//修改目錄的文件
$ git add <file-name>
//再次查看暫存區(qū)的當(dāng)前狀態(tài)
$ git status
//將暫存區(qū)的文件再次提交到本地倉庫
$ git commit -m "日志信息" 文件名
歷史版本的再使用
$ git reset --hard 版本號(hào)
4. 分支管理
分支:相當(dāng)于一個(gè)副本,進(jìn)行某個(gè)功能的開發(fā)
分支的好處:同時(shí)進(jìn)行多個(gè)功能的開發(fā),提高開發(fā)效率;開發(fā)過程中,若一個(gè)分支出現(xiàn)開發(fā)失敗,不會(huì)對(duì)其他的分支產(chǎn)生影響,將失敗的分支刪除即可
分支的操作
git branch 分支名 創(chuàng)建分支
git branch -v? ? ? ? ? 查看分支
git checkout 分支名? 切換分支
git merge 分支名? ? ? 把指定的分支合并到當(dāng)前分支上
產(chǎn)生沖突:不同分支對(duì)同一個(gè)文件進(jìn)行修改
合并沖突:手動(dòng)合并解決