linux檢視檔案內容
版本控制是一種在開發過程中用於管理我們對檔案、目錄或工程等內容的修改歷史,方便檢視更改歷史記錄,備份以便恢復以前的版本的工程技術。
-
實現跨區域多人協同開發
-
追蹤和記載一個或多個檔案的歷史記錄
-
組織和保護你的原始碼和文件
-
統計工作量
-
追蹤記錄整個軟體的開發過程
-
簡單說就是用於管理多人協同開發專案的技術。
常見的版本控制工具
-
Git
-
SVN
-
CVS
-
VSS
-
TFS
版本控制分類
-
本地版本控制
-
集中版本控制 --SVN
-
分散式版本控制 --Git
Git與SVN最主要區別:
SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而工作的時候,用的都是自己的電腦,所以首先要從中央伺服器得到最新的版本,然後工作,完成工作後,需要把自己做完的活推送到中央伺服器。集中式版本控制系統是必須聯網才能工作的,對網路頻寬要求較高。
Git是分散式版本控制系統,沒有中央伺服器,每個人的電腦都是一個完整的版本庫,工作的時候不需要聯網,因為版本都在自己的電腦上。協同的方式是:比如說自己在電腦上修改了檔案A,其他人也在電腦上修改了檔案A,這時,你們兩隻需把各自的修改推送給對方,就可以看到對方的修改了。Git是目前世界上最先進的分散式版本控制系統。
2.Git 下載與安裝
1.官網下載地址:
2.淘寶映象地址:https://npm.taobao.org/mirrors/git-for-windows/
安裝
直接安裝
啟動Git
安裝成功後在開始選單中會有Git項,選單下有3個程式:任意資料夾下,右鍵也可以看到ui應的程式
Git Bash:Unix與Linux風格的命令列,使用最多
Git CMD:windows風格的命令列
Git GUI:圖形介面的Git
基本的Linux命令:
1)、cd:改變目錄
2)、cd.. 回退到上一個目錄,直接cd進入預設目錄
3)、pwd: 顯示當前所在的目錄路徑
4)、ls(||): 都是列出當前目錄中的所有檔案,只不過||列出的內容更為詳細
5)、touch:新建一個檔案如touch index.js 就會在當前目錄下新建一個index檔案
6)、rm:刪除一個檔案,rm index.js 就會把index檔案刪除
7)、mkdir:新建一個目錄,就是新建一個資料夾
8)、rm-r:刪除一個資料夾,rm-r src刪除src目錄
9)、mv移動檔案,mv index.html src ,index.htm是我們要移動的檔案,src是目標為資料夾,
10)、reset 重新初始化終端/清屏
11)、clear 清屏
12)、history 檢視命令歷史
13)、#表示註釋
3.GIt配置
1.檢視配置
所有的配置檔案都儲存在本地
git config -l 檢視賬戶配置
git config --system --list 檢視系統配置
git config --global --list 檢視當前使用者(global)配置
git相關的配置檔案
1)、Git\etc\gitconfig :Git安裝目錄下的gitconfig --system系統級
2)、C:\Users\Administrator.gitconfig 只適用於當前登入使用者的配置 --global全域性
使用者相關資訊儲存在此檔案中
2.配置使用者資訊(必須配置)
設定name的方式 : git config --global user.name "xx"
設定email的方式:git config --global user.email "[email protected]"
4.Git基本理論(核心)
工作區域
Git本地有三個工作區域:工作目錄(Working Directory)、暫存區(Stage/Index)、資源庫(Repository或Git Directory)。如果在加上遠端的git倉庫(Remote Directory)就可以分為四個工作區域。檔案在這四個區域之間的轉換關係如下:
-
workspace:工作區,就是存放專案的地方
-
Index/Stage:暫存區,用於臨時存放改動,事實上它只是一個檔案,儲存即將提交到檔案列表資訊
-
Repository: 倉庫區(本地倉庫),安全存放資料的位置,裡面有提交到所有版本的資料.其中HEAD指向最新放入倉庫的版本
-
Remote:遠端倉庫,託管程式碼的伺服器
本地的三個區域確切的應該說是git倉庫中HEAD指向的版本:
工作流程
1、在工作目錄中新增、修改檔案;
2、將需要進行版本管理的檔案放入暫存區域;
3、將暫存區域的檔案提交到Git倉庫。
因此,GIt管理的檔案有三種狀態:已修改(modeified),已暫存(staged),已提交(committed)
Git專案搭建
本地倉庫搭建
兩種方式:一種是建立全新的倉庫,另一種是克隆遠端倉庫
建立全新的倉庫
1、建立全新的倉庫,需要用GIt管理的專案根目錄執行
#在當前目錄下新建一個Git程式碼庫
$ git init
2、執行後可以看到,在專案目錄多出了一個.git目錄,關於版本等的所有資訊都在這個目錄裡面。
克隆遠端倉庫
1、另一種方式是克隆遠端目錄。將遠端伺服器上的倉庫完全映象一份到本地
#克隆一個專案和它的整個程式碼歷史
$ git clone [url]
2.去gitee克隆
Git檔案操作
檔案4種狀態
版本控制就是對檔案的版本控制,要對檔案進行修改、提交等操作,首先要知道檔案當前在什麼狀態,不然可能會提交了現在不想提交的檔案,或者要提交的檔案沒提交上。
-
Untracked:未跟蹤,此檔案在資料夾中,但並沒有加入到git庫,不參與版本控制.通過git add狀態變為staged
-
Unmodify”檔案已經入庫,未修改,即版本庫中檔案快照內容與資料夾中完全一致,這種型別的檔案有兩種去處,如果它被修改,而變為Modified ,如果使用git rm 移出版本庫,則成為untracked 檔案
-
Modified:檔案已修改,僅僅是修改,並沒有進行其他的操作,這個檔案也有兩個去處,通過git add 可進入暫存staged 狀態,使用 git checkout 則丟棄修改過,返回到 unmodify 狀態,這個 git cheeckout 即從庫中取出檔案,覆蓋當前修改
-
Staged:暫存狀態,執行 git commit 則將修改同步到庫中,這時庫中的檔案和本地檔案又變為一致,檔案為 unmodify 狀態,執行 git reset HEAD filename 取消暫存,檔案狀態為modifie
檢視檔案狀態
#檢視指定檔案狀態
git status [filename]
#檢視所有檔案狀態
git status
#git add . 新增所有檔案到暫存區
#git commit -m 提交暫存區中的內容到本地倉庫 -m 訊息備註
忽略檔案
有些時候我們不想把一些檔案納入版本控制中,比如資料庫檔案,臨時檔案等
在主目錄下建立“.gitignore” 檔案,此檔案有如下規則:
-
忽略為五年間中的空行或以井號(#)開始的行將會被忽略
-
可以使用linux萬用字元,例如:* 代表任意多個字元,?代表一個字元。方括號[abc]代表可選字元範圍,大括號{sss,rrr....}代表可選的字串等
-
如果一個名稱的最前面有一個感嘆號,表示例外規則,將不會被忽略
-
如果名稱的最前面是一個路徑分割符(/),表示要忽略的檔案在此目錄下,而子目錄下的檔案不忽略
-
如果名稱的最後面是一個路徑分隔符,表示要忽略的是此目錄下該名稱的子目錄,而非檔案(預設問價或目錄都忽略)
#Package Files#
*.jar
*.war
*.ear
target
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
.gitignore
*.yml
使用碼雲
1.註冊登入碼雲,完善個人資訊
2.設定本機繫結SSH公鑰,實現免密碼登入
#進入 C:\users\Administrator\.ssh 目錄
# 生成公鑰
ssh-keygen
ssh-keygen -r -ras 加密
3.將公鑰資訊public key 新增到碼雲賬戶中即可
4.使用碼雲建立一個自己的倉庫
5.IDEA 整合Git
1.新建專案,繫結Git
-
將遠端的Git檔案目錄拷貝到專案中
2.提交專案到本地倉庫
3.push到遠端
Git分支
git分支中常用指令:
#列出本地分支
git branch
#列出所有遠端分支
git branch -r
#新建一個分支,但依然停留在當前分支
git branch [branch-name]
#新建一個分支,並切換到該分支
git checkout -b [branch]
#合併指定分支到當前分支
git merge [branch]
#刪除分支
git branch -d [branch-name]
#刪除遠端分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]