今天差不多從中午開始下午一點才開始學的,把git學了一大半了,還好任務不是很多,但是我上午用的時間挺值的,因為我去搞了個cnblogs的背景主題,就是你們現在所看到的這套,這個沒搞明白有一通研究的,只不過現在已經搞熟悉了,添加那些引數,不得不說挺強大的,這個自己編輯頁面的功能,我最滿意的這套主題,是自適應,以前用的默認的那個手機根本看不了,沒想到現在這個居然還可以自適應對手機用戶簡直福音,
然后第二件事情,今天開始用typora了,感徑訓可以,不知不覺一大版筆記,都頭頭是道的,我后面就用Markdown編輯器傳上來了,因為順便可以把我的筆記一起傳上來,再配合點我做的效果演示,
搞了半天的typora自動上傳圖片到博客園里來那個Python腳本,終于搞好了,以后就方便了我的筆記自動傳上來,
1.關于版本控制
- 版本控制軟體
即負責管理檔案版本的軟體,記錄檔案的版本變化
- 好處
以命令的形式,操作簡便等
- 分布式版本控制系統
客戶端是服務器的完整備份,并不是只保留最新版本,而是會把服務器的所有版本下下來,這樣的話,如果服務器資料丟失,可以從任意一臺客戶端恢復
2.git基本概念
- 什么是git
開源的分布式版本控制系統,特點:專案越大越復雜,協同開發者越多越能體現git的高性能和高可用性
- 特性
- svn基于差異比較:就是當更新一次版本的時候,不是去記錄最新的版本而是將最新的版本的差異點記錄下來

- 記錄快照
git里面的記錄快照分為兩種,一種是版本變化了會在原檔案上對更新的版本做一個備份,如果沒有更新就直接做出一個鏈接指向源檔案,如下圖,虛線為沒有更新,實作表示更新了

其實這個快照就類似于虛擬機里面的快照,你每建立一次快照是不是因為你做出了一些操作想保存在這里,每次快照都是完整的體系所以占用洗盤空間大
- 近乎所有操作都是本地執行,只需要訪問本地檔案和資源,因為前面說過git是分布式控制系統,客戶端和服務器的資源是一樣的,你有三個版本我也有三個版本,而且這一特性也決定了我們在斷網后照樣可以版本管理 ,如果斷網后你把v3升級到了v4,你只管升級你的,服務器也檢測不到因為斷網了,當我們聯網后會把記錄同步到云端的

- git三個區域(作業區、暫存區、git倉庫)
當你在寫代碼的時候,代碼的目錄就是一個作業區;當你把代碼寫完一個功能后可以暫時放到暫存區;最后全部完成將其放到git倉庫
- git三狀態

- git基本作業流程
寫代碼,然后將寫好的功能放在暫存區里面暫存,此時就已經過了已修改、已暫存狀態,繼續回去完善邏輯,當把所有功能實作后以快照的形式提交到git倉庫里面
3.安裝配置git
- 安裝后檢驗查看右鍵選單
- 配置
設定用戶名和郵箱地址:

注意使用了global選項后說明這個命令只需要運行一次即可永久生效,后面就不用這個命令了
- 全域配置
上面的命令執行后其實會在c盤/users/用戶名檔案夾/.gitconfig這里面顯示,這就是git的全域組態檔只要配置在這里面的配置一次永久生效,
- 檢查配置資訊
也可以使用命令快速查看


- 獲取幫助資訊(不用聯網)
git help 我們的命令
eg :git help config
或者 git config -h
4.git基本操作
- 獲取git倉庫的兩種方式
-
將一個本地目錄轉換為git倉庫
在當前目錄下右鍵git Bash,輸入git init,即可初始化一個倉庫,當前目錄下會有一個.git的隱藏起來的目錄,他就是當前專案的git倉庫,里面包含了一些初始化的必要檔案

-
從其他服務器克隆一個git倉庫
- 作業區中四種狀態
分為兩大類
一類是未被git管理的:那就會有未跟蹤狀態(在git上一次提交之前沒有這個檔案,也就是新創建的)
一類是已被git管理的:未修改(作業區里的內容和git倉庫內容一致)、已修改(作業區里面的內容和git倉庫內容不一樣)、已暫存(作業區修改的檔案已放入暫存區,準備進入已提交狀態)
注意:git操作的終極結果為:讓作業區的檔案都處于“未修改”狀態
- 檢查檔案狀態
git status(輸出的結果叫狀態報告)

關鍵字:Untracked files 表示未跟蹤狀態
以精簡方式顯示檔案狀態:git status -s

??表示未跟蹤
- 跟蹤新檔案
git add 這個檔案

committed:新增了這個檔案的管理并且放到了暫存區,committed表示暫存區
精簡版為A開頭
- 提交更新
git commit 或者 git commit -m 可以對這個提交成功后作進一步的描述

這個就表示未修改狀態,沒有任何檔案需要提交了

- 對已提交的檔案進行修改
當我們把已經提交到倉庫的index.html又拿到作業區上來修改,這個時候去status會顯示modified,簡寫版為M這就是已修改狀態

- 暫存已修改的檔案
再次運行git add即可 該命令可以吧未跟蹤、已修改的檔案放到暫存區

注意:未跟蹤放到暫存區為A開頭,已修改放到暫存區還是modified,還是M但是沒放之前為紅色,現在為綠色
- 撤銷對檔案的修改
將作業區修改的內容還原成倉庫里面的內容,所有修改都會丟失且無法恢復,危險性高
git checkout -- index.html



- 向暫存區一次性添加多個檔案
git add .

今后開發這個命令用的比較多
- 取消暫存檔案
從暫存區移出一些檔案
git reset HEAD 要移出的檔案名稱

全部移出出去 git reset HEAD .
-
移除檔案
- 從git倉庫和作業區都移除
git rm -f index.js


- 只從git倉庫移除,保留作業區中的
git rm --cached index.css
-
忽略檔案
一般有些檔案是不需要納入git的管理當中的,也不希望出線在未跟蹤串列里面,
創建一個.gitignore的組態檔(這個檔案是可以上傳的)
規范如下:
-
# 開頭都是注釋
-
/ 結尾是目錄
-
/ 開頭防止遞回
-
!開頭表示取反
-
glob模式指簡化了的正則:

- 例子

注意:/開頭表示遞回,這里的意思是只需略當前目錄下todo檔案夾,而不忽略其他目錄下todo檔案夾,這就是遞回;
倒數第二個:只是忽略這個目錄下的txt檔案,但是不會忽略這個目錄下的子目錄下的txt檔案
- 查看提交歷史
git log
git log -2 顯示最新的兩條
git log -2 --pretty=oneline在一行上展示最近的兩條
git log -2 --pretty=format:“%h | %an | %ar | %s“ 在一行上展示最近的兩條并自定義輸出格式

%h表示提交的唯一標識 %an表示作者名字 %ar作者修訂日期 %s提交說明
- 回退到指定版本

注意:commitID為剛才說的唯一標志符,沒有<>符號;回退到前面的版本后你查看提交歷史就是當時那個時候的提交歷史,想要查看所有的包括在他之后的需要輸入第三條命令
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467079.html
標籤:其他
上一篇:JavaScript學習筆記
下一篇:元素存在時硒找不到元素
