Git安裝基本配置
下載安裝(一路next)
打開bash終端(git專用)
命令:?git -v
(查看版本號)
配置: 用戶名和郵箱,應用在每次提交代碼版本時表明自己身份
命令:
git config --global user.name "FT"
git config --global user.email "FT@163.com"
查看配置命令:
git config --list
Git工作區
Git倉庫(repository):記錄文件狀態內容的地方,存儲著修改記錄
創建:
1、把本地文件夾裝換成Git倉庫: 命令?git init
2、從其他服務器上克隆Git倉庫
Git的三個區域:
1、工作區: 實際開發時操作的文件夾
2、暫存區: 保存之前的準備區域(暫存改動過的文件)
3、版本區: 提交并保存暫存區中的內容,產生一個版本快照
命令 | 作用 |
---|---|
git add 文件名 | 暫存指定文件 |
git add . | 暫存所有改動的文件 |
git commit -m '注釋說明' | 提交并保存,產生版本快照 |
查看暫存區工作文件:?git ls-files
Git文件狀態:
Git文件2種狀態:
命令:?git status -s
1、未跟蹤: 新文件,從未被Git管理過
2、已跟蹤: Git已經知道和管理的文件
文件狀態 | 概念 | 場景 |
---|---|---|
未跟蹤(U) | 從未被Git管理過 | 新文件 |
新添加(A) | 第一次被Git暫存 | 之前版本記錄無此文件 |
未修改('') | 三個區域統一 | 提交保存后 |
已修改(M) | 工作區內容變化 | 修改了內容產生 |
Git暫存區使用:
暫存區: 暫時存儲,可以臨時恢復代碼內容,與版本庫解耦
暫存區 -> 覆蓋 -> 工作區
命令:?git restore 目標文件
?(注意: 完全確認覆蓋時使用)
從暫存區移除文件,命令:?git rm --cached 目標文件
Git回退版本
概念: 把版本庫某個版本對應的內容快照,恢復到工作區/暫存區
查看歷史提交:
git log --oneline
git reflog -- oneline
回退命令:
git reset --soft 版本號
?(保留暫存區和工作區內容)
git reset --hard 版本號
?(不保留暫存區和工作區原本內容)
git reset --mixed 版本號
(不保留暫存區,工作區保留(默認) 先覆蓋到暫存區,再用暫存區對比覆蓋工作區)
注意1: 只有記錄在版本庫的提交記錄才能恢復
注意2: 回退后,繼續修改->暫存->提交操作即可(產生新的提交記錄過程)
刪除文件
git 忽略文件
概念: .gitignore 文件可以讓 git 徹底忽略跟蹤指定文件
目的: 讓 git 倉庫更小更快,避免重復無意義的文件管理
分支
概念: 本質上是值向提交節點的可變指針。默認名字是 master
注意: HEAD指針影響工作區/暫存區的代碼狀態
場景: 開發新需求、修復Bug,保證主線代碼隨時可用,多人協同開發提交效率
例如:
1、在現有代碼上創建新分支完成內容列表業務
2、突然需要緊急修復Bug - 單獨創建分支解決BUg
例: 創建內容列表content分支,并產生提交記錄
步驟:
1、創建分支命令:?git branch 分支名
?(git branch
?命令可以查看所有分支)
2、切換分支命令:?git checkout 分支名
3、工作區準備代碼并暫存提交
其他命令:
1、創建分支并切換到創建的分支:?git checkout -b 分支名
2、將本地的分支推送到遠程倉庫進行保存:?git push -u origin 分支名
?(origin gitHub中創建的倉庫別名)
3、將本地的分支合并到本地的 master 分支:
git checkout master
git merge 分支名
4、刪除本地的分支:?git branch -d 分支名
注意: 提交記錄的順序按照產生的先后順序排列,而非合并的先后順序
分支 - 合并沖突
Git遠程倉庫
概念: 托管在網絡或其他網絡中你的項目版本庫
作用: 保存版本庫的歷史記錄,多人協作
創建: 公司自己服務器/第三方托管平臺(Gitee,GitLab,GitHub...)
例: 需求: 創建遠程版本庫,并把本地Git倉庫推送上去保存
步驟:
1、注冊第三方托管平臺網站賬號
2、新建倉庫得到遠程倉庫Git地址
3、本地Git倉庫添加遠程倉庫原點地址
命令:?git remote add 遠程倉庫別名 遠程倉庫地址
例:?git remote add origin https://gitee.com/xxx/work.git
4、本地Git倉庫推送版本記錄到遠程倉庫
命令:?git push -u 遠程倉庫別名 本地和遠程分支名
例:?git push -u origin master
完整寫法:?git push --set-upstream origin master:master
查看本地倉庫中有哪些遠程倉庫的地址?git remote -v
刪除遠程倉庫地址?git remote remove origin
拉取遠程倉庫:?git pull origin master
強制拉取遠程倉庫:?git pull --rebase origin master
Git 遠程倉庫-克隆
概念: 拷貝一個Git倉庫到本地,進行使用
命令: git clone 遠程倉庫地址
例:?git clone https://gitee.com/xxx/work.git
效果: 在運行命令所在文件夾, 生成wor項目文件夾(包含版本庫,并映射到暫存區和工作區)
注意1: Git 本地倉庫已經建立好和遠程倉庫的鏈接
注意2: 倉庫公開隨意克隆,推送需要身為倉庫團隊成員