簡介
Git是分布式版本控制系統(tǒng),同時(shí)是內(nèi)容管理系統(tǒng)、工作管理系統(tǒng)等,與Linux命令完全兼容。
與集中式版本控制系統(tǒng)(比如SVN)不同,Git是分布式的,可以通過Git從服務(wù)器上把完整的Git倉庫克隆到本地。
優(yōu)點(diǎn)
- 協(xié)同修改
- 數(shù)據(jù)備份
- 版本管理
- 權(quán)限控制
- 歷史記錄
Git工作流程
將工作區(qū)的修改添加(add)到暫存區(qū),暫存區(qū)的修改提交(commit)到本地倉庫,本地倉庫推送(push)到遠(yuǎn)程倉庫。
clone是將項(xiàng)目全部從遠(yuǎn)程倉庫拉到本地倉庫,然后本地倉庫檢出(checkout)到工作區(qū)。
pull是將遠(yuǎn)程倉庫中更新的部分拉取下來。
Git基礎(chǔ)指令
一個(gè)項(xiàng)目對應(yīng)一個(gè)工作區(qū)
所以每個(gè)項(xiàng)目需要?jiǎng)?chuàng)建單獨(dú)的工作區(qū)(文件夾)
初始化本地倉庫
指令:git init
創(chuàng)建一個(gè)版本庫(隱藏文件夾) .git
查看狀態(tài)
指令:git status
將工作區(qū)的修改添加到暫存區(qū)(add)
指令:
- git add 文件名 添加某個(gè)文件到暫存區(qū)
- git add . 將當(dāng)前目錄下所有文件添加到暫存區(qū)
配置郵箱和用戶名
指令:
- git config --global user.email "郵箱"
- git config --global user.name "用戶名"
提交到本地倉庫(commit)
指令:
- git commit -m ‘描述信息’ 將文件從暫存區(qū)提交到本地倉庫
- git commit -a -m '描述信息' 將文件從工作區(qū)添加到暫存區(qū)再提交到本地倉庫(提交過一次后可以使用,即用于提交跟蹤過的文件)
查看日志
指令:
- 詳細(xì)顯示:git log
- 簡化日志:git log --pretty=oneline(有完整的版本號)
- 簡短日志:git reflog(有較短的版本號)
刪除文件
指令:git rm 文件名
被刪除的文件會添加到暫存區(qū)
版本前進(jìn)|回退
指令:git reset --hard 版本號(局部版本號)
通過恢復(fù)到指定版本,可以恢復(fù)被刪除的文件。
遠(yuǎn)程倉庫操作
Gitee,碼云,國內(nèi)目前最大的代碼托管平臺,近幾年國內(nèi)開發(fā)者的首選。
創(chuàng)建遠(yuǎn)程倉庫
可使用兩種方式,https協(xié)議或SSH協(xié)議
1.使用倉庫的https協(xié)議
將本地倉庫的內(nèi)容推送到遠(yuǎn)程倉庫時(shí),需要輸入遠(yuǎn)程倉庫的用戶名和密碼。
出現(xiàn)用戶名密碼輸入錯(cuò)誤,再使用時(shí)還會使用之前的用戶名密碼,可在控制面板中刪除記錄。
2.使用倉庫的SSH協(xié)議
將本地倉庫的內(nèi)容推送到遠(yuǎn)程倉庫時(shí),不需要輸入用戶名和密碼。
需要生成公鑰和私鑰,將公鑰配置在遠(yuǎn)程倉庫中。
推送到遠(yuǎn)程倉庫
1.設(shè)置全局用戶名和郵箱
2.將工作區(qū)的修改提交到本地倉庫
3.設(shè)置遠(yuǎn)程倉庫地址 git remote add origin 倉庫地址
4.將本地倉庫主分支的內(nèi)容推送到遠(yuǎn)程倉庫主分支中 git push -u origin master
-u 可建立本地分支與遠(yuǎn)端分支的關(guān)聯(lián)關(guān)系
可使用 git branch -vv 查看本地分支和遠(yuǎn)程分支的關(guān)系
兩個(gè)分支為關(guān)聯(lián)狀態(tài)后,將本地倉庫內(nèi)容提交到遠(yuǎn)程倉庫可直接使用 git push
克隆遠(yuǎn)程倉庫到本地
指令:git clone 遠(yuǎn)程倉庫地址
如果使用的是https的地址,允許被克隆可直接克隆。
如果使用的是SSH的地址,則gitee必須配置本地git的公鑰。
分支
在版本控制過程中,使用多條線同時(shí)推進(jìn)多個(gè)任務(wù),每條線成為一個(gè)分支。多個(gè)分支同時(shí)推進(jìn),且各個(gè)分支互不影響。
常見分支
默認(rèn)只創(chuàng)建主分支,可以創(chuàng)建其他分支。
1.Master:主分支
2.Develop:開發(fā)分支
3.Release:預(yù)發(fā)行分支
4.Features:功能分支
5.HotFix:Bug修復(fù)分支
分支指令
1.查看分支 指令:git branch
2.創(chuàng)建分支 指令:git branch 分支名
3.切換分支 指令:git checkout 分支名
4.推送本地分支到遠(yuǎn)程 指令:git push origin 本地分支名:遠(yuǎn)程分支名
前提:和遠(yuǎn)程倉庫是連接狀態(tài)
5.合并分支 指令:git merge --no-f 分支名(把指定分支內(nèi)容合并到當(dāng)前分支)
切換到主分支,合并其他分支。(其他分支不能合并主分支)
6.刪除本地分支 指令:git branch -d 分支名
不能刪除所在分支,需切換其他分支再刪除。
7.刪除遠(yuǎn)程分支 指令:git push origin --delete 遠(yuǎn)程分支名
IDEA操作Git
推送產(chǎn)生沖突問題
遠(yuǎn)程倉庫發(fā)生了修改,用戶向遠(yuǎn)程倉庫推送時(shí),會彈出提示
1.沒有沖突時(shí)
可以選擇:
(1)直接推送到遠(yuǎn)程倉庫并合并(Merge)
(2)將遠(yuǎn)程倉庫修改的內(nèi)容拉?。╬ull)到本地倉庫,再重新推送(push)到遠(yuǎn)程倉庫
2.產(chǎn)生沖突
原因:兩個(gè)人修改了同一區(qū)域的代碼,一人已提交到遠(yuǎn)程倉庫,另一人未拉取最新版本且將修改后的代碼推送到遠(yuǎn)程倉庫,產(chǎn)生沖突。
預(yù)防:修改代碼前拉?。╬ull)代碼文章來源:http://www.zghlxwxcb.cn/news/detail-803938.html
解決:合并(Merge)時(shí)可一起參考自己的代碼、他人的代碼、修改前的代碼這三個(gè)版本,在Result代碼區(qū)域修改完成后應(yīng)用(Apply)。文章來源地址http://www.zghlxwxcb.cn/news/detail-803938.html
到了這里,關(guān)于Git:版本控制工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!