2021年5月19日——yaco
第一章 快速入門
1.1 什么是Git
Git是一個(gè)分布式的版本控制軟件。
- Git是一個(gè)軟件恕出,類似于QQ、office俯渤、dota等安裝到電腦上才能使用的工具‘
- 版本控制,類似于畢業(yè)論文捂蕴、寫文案捏膨、視頻剪輯等免都,需要反復(fù)修改和保留原歷史數(shù)據(jù)。
- 分布式
- 文件夾拷貝(最原始的多版本控制方法)
- 本地版本控制(在本地進(jìn)行版本控制)
- 集中式版本控制(使用一臺(tái)機(jī)器進(jìn)行版本的集中管理能耻,一旦集中管理的機(jī)器掛掉赏枚,則整個(gè)系統(tǒng)就會(huì)癱瘓)
- 分布式版本控制(每一臺(tái)機(jī)器中都存儲(chǔ)有多個(gè)版本,一臺(tái)機(jī)器=掛掉之后晓猛,并不會(huì)影響整個(gè)系統(tǒng)工作)
1.2 為什么要做版本控制
一個(gè)軟件項(xiàng)目往往會(huì)有多個(gè)版本饿幅,版本之間的切換更改是經(jīng)常發(fā)生的事,因此必須進(jìn)行項(xiàng)目版本控制戒职,方便進(jìn)行回滾和修改
1.3 安裝Git
詳見:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
第二章 Git實(shí)戰(zhàn)教程
2.1 第一階段: 保證Git可以成功管理項(xiàng)目目錄
想讓git對(duì)一個(gè)目錄進(jìn)行版本控制需要以下步驟:
進(jìn)入要管理的文件夾
-
執(zhí)行初始化命令
git init
-
管理目錄下的文件狀態(tài)
git status 注:新增的文件和修改后的文件都是紅色的
-
管理指定文件(紅變綠)
git add 文件名 (添加單個(gè)文件進(jìn)行g(shù)it的管理) git add . (將當(dāng)前目錄下所有沒有被管理文件加入git管理)
-
個(gè)人信息配置:用戶名栗恩、郵箱(一次即可,往往在git第一次使用的時(shí)候需要配置)
git commit -m '描述信息'
-
查看版本記錄
git log
2.2 第二階段:擴(kuò)展新的功能
- 首先新增了一個(gè)文件index.txt洪燥,加入版本控制v1
- 向index.txt文件中寫入一句話磕秤,生成新的版本v2
- 以同樣的方式生成版本3,最終會(huì)形成三個(gè)版本捧韵,v1為空文件市咆,v2寫了一句話,v3寫了兩句話
2.3 第三階段: 多版本回滾的使用方法
-
當(dāng)前所在的版本為v3再来,如果想要回滾到v2的操作
git log (查看v2版本號(hào)對(duì)應(yīng)的hash值) git reset --hard 版本號(hào)
從當(dāng)前版本回滾到之前的版本蒙兰,可以發(fā)現(xiàn)git log少了v3磷瘤,可以使用git reflog查看
-
當(dāng)前所在版本為v2,現(xiàn)在計(jì)劃從版本v2跳回v3
git reflog --查看當(dāng)前版本之后的版本記錄 git reset --hard 版本號(hào)
2.4 階段性總結(jié)一
git init 初始化項(xiàng)目目錄搜变,使git介入管理
git add 將新建的文件或者修改后的文件加入git的管理范圍采缚,使文件名由紅色變?yōu)榫G色
git commit 提交歸檔為一個(gè)新的版本
git log 查看版本日志
git reflog 查看歷史版本日志,包括當(dāng)前版本之后的版本
git reset --hard 版本號(hào)
2.5 第四階段:版本控制中存在的分支現(xiàn)象
2.5.1 分支
分支可以給使用者提供多個(gè)開發(fā)環(huán)境挠他,意味著你可以把工作從開發(fā)主線上分離開來扳抽,以免影響開發(fā)主線。
2.5.2 緊急修復(fù)bug方案
2.5.3 命令總結(jié)
-
查看分支
git branch
-
創(chuàng)建分支
git branch 分支名
-
切換分支
git checkout 分支名
-
分支合并
git merge 要合并的分支 注意:切換分支主分支之后再合并
-
刪除分支
git branch -d 分支名
2.5.4 工作流
2.6 使用GitHub進(jìn)行不同機(jī)器上工作文件靈活切換
如何在公司和家中進(jìn)行工作代碼的靈活切換殖侵,隨時(shí)隨地都可以快樂的敲代碼尼摔蓝?
2.6.1 配置好Github環(huán)境,公司開發(fā)并提交至遠(yuǎn)程倉(cāng)庫(kù)
- 首先愉耙,需要注冊(cè)github賬號(hào),并創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)
- 填上關(guān)鍵信息即可
- 生成倉(cāng)庫(kù)路徑
-
首先使用git bash here給遠(yuǎn)程倉(cāng)庫(kù)起別名
git remote add gitstudy https://github.com/codeyc-azc/Yaco_gitstudy.git
-
然后向遠(yuǎn)程推送代碼
git push -u gitstudy 分支名 注意:這里的-u可以省略
首次推送需要用戶名和密碼
2.6.2 回家繼續(xù)開發(fā)
-
首先從github上拌滋,將公司上傳的代碼克隆下來到本地
git clone 遠(yuǎn)程倉(cāng)庫(kù)地址(內(nèi)部已實(shí)現(xiàn)git remote add gitstudy 遠(yuǎn)程倉(cāng)庫(kù)地址)
2.6.3 回公司繼續(xù)操作
2.6.4 工作示意圖
2.7 階段性總結(jié)二
-
添加遠(yuǎn)程鏈接(別名)
git remote add 別名 倉(cāng)庫(kù)地址
-
推送代碼
git push 倉(cāng)庫(kù)別名 分支名
-
下載代碼
git clone 倉(cāng)庫(kù)地址
-
拉取代碼
git pull 倉(cāng)庫(kù)別名 分支名
-
保持代碼提交整潔(變基)
git rebase 分支名
-
記錄圖形展示
git log --graph --pretty= format:"%h %s"