1.版本控制系統簡介
版本控制系統是一種記錄活若干個檔案內容變化,以便將來查閱特定版本內容情況的系統記錄檔案的所有歷史變化,隨時可恢復到任何乙個歷史狀態,多人協作開發。
安裝:yum -y install git
[root@iz0**hhu2rrhmpz ~]# git config
config file location
–global use global config file
–system use system config file
–local use repository(版本庫級) config file
[root@iz0**hhu2rrhmpz ~]# git config --global user.name 『xu』
[root@iz0**hhu2rrhmpz ~]# git config --global user.email 『[email protected]』
[root@iz0**hhu2rrhmpz ~]# git config --global color.ui true
[root@iz0**hhu2rrhmpz ~]# git config --list
user.name=xu
color.ui=true
[root@iz0**hhu2rrhmpz ~]# cat .gitconfig
[user]
name = xu
email = [email protected]
[color]
ui = true
3.git初始化
初始化工作目錄,對已存在的目錄可進行初始化版本倉庫(可以是空的目錄,也可以是帶內容的目錄)
mkdir /home/git_data
cd /home/git_data
初始化工作目錄,對已存在的目錄可進行初始化版本倉庫(可以是空的目錄,也可以是帶內容的目錄)
git init
檢視工作區狀態
git status
隱藏檔案介紹
branchec 分支目錄
config 定義專案特有的配置選項
description 僅供git web程式使用
head 指定當前的分支
hooks 包含git鉤子檔案
info 包含乙個全域性排除檔案(exclude檔案)
objects 存放所有資料內容,有info和pack兩個子資料夾
refs 存放指向資料(分支)的提交物件的指標
index 儲存暫存區資訊,在執行git init的時候,這個檔案還沒有
git add file 新增檔案到暫存區
git add . 或者git add * 新增所有檔案到暫存區
刪除檔案
1.先從暫存區撤回到工作區,然後直接刪除檔案
git rm --cacaed filename
rm -rf filename
2.直接從暫存區域同工作區域一同刪除檔案命令
git rm -rf filename
**提交 從快取區提交到本地倉庫
git commit -m 「commit test」
git mv old-filename new-filename 直接更改檔名稱 更改完直接commit提交即可
git diff 預設比對工作目錄和暫存區有什麼不同
git diff --cached 比對暫存區和本地倉庫
如果某個檔案已經被倉庫管理,如果在更改此檔案直接需要一條命令提交即可
git commit -am 「add bewfile」
git log 檢視歷史提交過的資訊
git log --oneline一行顯示詳盡資訊
git log --oneline --decorate 當前指標指向的位置
git log -p 顯示具體內容變化
git log -1只顯示一條內容
git reset --hard 4a6dee0fd7 回滾資料到4a6dee0fd7雜湊所代表的版本
git log --oneline --decorate 檢視當前指標的指向
git branch testing 建立testing分支
[root@iz0**hhu2rrhmpz git_data]# git branch
git標籤使用使用
標籤也是指向了一次commit提交,是乙個里程碑式的標籤,回滾打標籤直接打標籤號,不需要加唯一字串不好記
git tag -a v1.0 832c231 -m 「echo fefafwfgg > master」 -a指定標籤名字 -m 指定說明文字
[root@iz0**hhu2rrhmpz git_data]# git tag
v1.0
v1.1
[root@iz0**hhu2rrhmpz git_data]# git show v1.0 檢視v1.的資訊, git show 加標籤檢視
tag v1.0
tagger: xu [email protected]
date: tue may 19 10:15:53 2020 +0800
add index 2726db0
commit 2726db087d0f6462c1bf839ec1794d2ff11b8d32
author: xu [email protected]
date: mon may 18 16:43:04 2020 +0800
2 index
diff --git a/0 b/0
new file mode 100644
index 0000000…e69de29
diff --git a/2 b/2
index e69de29…9015a7a 100644
— a/2
+++ b/2
@@ -0,0 +1 @@
+index
git reset --hard v1.0 直接還原資料到v1.0
git tag -d v1.0 刪除標籤 -d引數
[root@iz0**hhu2rrhmpz git_data]# git tag
v1.0
v1.1
[root@iz0**hhu2rrhmpz git_data]# git tag -d v1.0
deleted tag 『v1.0』 (was 0427922)
[root@iz0**hhu2rrhmpz git_data]# git tag
v1.1
git remote add origin [email protected]:dienoe/git_data.git 新增遠端倉庫 姓名為origin
git remote 檢視當前的遠端倉庫的名稱
生成金鑰
ssh-keygen -t rsa
cd ~
cat ./ssh/id_rsa.pub
gitlab簡介:
gitlab的服務構成:
nginx: 靜態web伺服器
gitlab-workhorse 輕量級反向**伺服器
logrotate 日誌檔案管理工具
postgresql 資料庫
redis 快取資料庫
sidekiq 用於在後台執行佇列任務(非同步執行)
安裝環境:
(1)centos 6或者7 (此處使用7)
(2)2g記憶體(實驗)生產(至少4g),不然會很卡
(3)安裝包:gitlab-ce-10.2.2-ce
(4)禁用防火牆,關閉selinux
安裝步驟:
(1)安裝軟體
git remote remove origin 刪除遠端連線倉庫加粗樣式
iOS 持續化整合工具
使用過的自動打包工具有jenkins,flow.ci,fastlane 現在同時使用jenkins和fastlane,一本遠端庫,乙個本地庫打包 1.jenkins 配置複雜,歷史要悠久一些,一般工作中使用 穩定版本.單獨配置一台電腦做打包的裝置,可以自定很多東西.功能強大.可以拉取遠端倉庫的不同分...
持續整合 Gitlab部署
一 gitlab概述 gitlab是乙個利用 ruby on rails 開發的開源應用程式,實現乙個自託管的git專案倉庫,可通過web介面進行訪問公開的或者私人專案。gitlab擁有與github類似的功能,能夠瀏覽源 管理缺陷和注釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供乙...
gitlab持續整合(錯誤回顧二)
在gitlab中新建的專案,預設保護分支為master,但在後續開發中,會有多個分支出現,例如說,新版本分支master1.1,在這 個分支下根目錄構建了.gitlab ci.yml,若.yml中有類似於 docker login u ci registry user p ci registry p...