目錄
- 1.常見版本管理工具
- 1.1.SVN
- 1.2.Git
- 2.Git安裝配置
- 2.1.系統環境
- 2.2.安裝Git
- 2.3.Git全域配置
- 3.初始化Git作業目錄
- 4.常規使用(創建資料-提交資料)
- 5.git commit -a引數
- 5.1.添加新檔案
- 5.2.修改或洗掉原有檔案
- 6.洗掉暫存區資料
- 7.重命名暫存區資料
- 8.查看歷史記錄
- 9.還原歷史資料
- 10.還原未來資料
- 11.標簽使用
- 12.對比資料
- 13.分支結構
- 13.1.創建分支
- 13.2.合并分支
1.常見版本管理工具
1.1.SVN
集中式的版本控制系統,只有一個中央資料倉庫,如果中央資料倉庫掛了或者不可訪問,所有的使用者無法使用SVN,無法進行提交或備份檔案,
1.2.Git
分布式的版本控制系統,在每個使用者電腦上就有一個完整的資料倉庫,沒有網路依然可以使用Git,當然為了習慣及團隊協作,會將本地資料同步到Git服務器或者GitHub等代碼倉庫,
2.Git安裝配置
2.1.系統環境
CentOS7.4防火墻和selinux關閉
2.2.安裝Git
yum install -y git
2.3.Git全域配置
git config --global user.name "847430005" # 配置git使用用戶
git config --global user.email "[email protected]" # 配置git使用郵箱
git config --global color.ui true # 語法高亮
git config --list # 查看全域配置
3.初始化Git作業目錄
mkdir git_data
cd git_data/
# 初始化
git init
# 查看作業區狀態
git status
4.常規使用(創建資料-提交資料)
touch README
git status
git add README
git status
git commit -m 'first commit'
# git commit提交暫存檔案至本地倉庫
git push # 提交本地倉庫至遠程倉庫
5.git commit -a引數
5.1.添加新檔案
git add * 添加到暫存區域
git commit 提交git倉庫 -m 后面接上注釋資訊,內容關于本次提交的說明,方便自己或他人查看
5.2.修改或洗掉原有檔案
常規方法
git add *
git commit
簡便方法
git commit -a -m “注釋資訊” -a 表示直接提交
6.洗掉暫存區資料
沒有添加到暫存區的資料直接rm洗掉即可,
已經添加到暫存區資料:
git rm --cached database
# 將檔案從git暫存區域的追蹤串列移除(并不會洗掉當前作業目錄內的資料檔案)
git rm -f database
# 將檔案資料從git暫存區和作業目錄一起洗掉
7.重命名暫存區資料
沒有添加到暫存區的資料直接mv/rename改名即可,
已經添加到暫存區資料:
git mv README NOTICE
8.查看歷史記錄
git log # 查看提交歷史記錄
git log -2 # 查看最近幾條記錄
git log -p -1 # -p顯示每次提交的內容差異,例如僅查看最近一次差異
git log --stat -2 # --stat簡要顯示資料增改行數,這樣能夠看到提交中修改過的內容,對檔案添加或移動的行數,并在最后列出所有增減行的概要資訊
git log --pretty=oneline # --pretty根據不同的格式展示提交的歷史資訊
git log --pretty=fomat:"%h %cn" # 查看當前所有提交記錄的簡短SHA-1哈希字串與提交者的姓名,其他格式見備注,
9.還原歷史資料
Git服務程式中有一個叫做HEAD的版本指標,當用戶申請還原資料時,其實就是將HEAD指標指向某個特定的提交版本,但是因為Git是分布式版本控制系統,為了避免歷史記錄沖突,故使用了SHA-1計算出十六進制的哈希字串來區分每個提交版本,另外默認的HEAD版本指標會指向到最近的一次提交版本記錄,而上一個提交版本會叫HEAD,上上一個版本則會叫做HEAD^,當然一般會用HEAD~5來表示往上數第五個提交版本,
git reset --hard HEAD^ # 還原歷史提交版本上一次
git reset --hard 3de15d4 # 找到歷史還原點的SHA-1值后,就可以還原(值不寫全,系統會自動匹配)
10.還原未來資料
什么是未來資料?
就是你還原到歷史資料了,但是你后悔了,想撤銷更改,但是git log已經找不到這個版本了,
git reflog # 查看未來歷史更新點
11.標簽使用
git tag v1.0 # 當前提交內容打一個標簽(方便快速回滾),每次提交都可以打個tag,
git tag # 查看當前所有的標簽
git show v1.0 # 查看當前1.0版本的詳細資訊
git tag v1.2 -m "version 1.2 release is test" # 創建帶有說明的標簽,-a指定標簽名字,-m指定說明文字
git tag -d v1.0 # 我們為同一個提交版本設定了兩次標簽,洗掉之前的v1.0
12.對比資料
git diff可以對比當前檔案與倉庫已保存檔案的區別,知道了對README作了什么修改后,再把它提交到倉庫,
git diff README
13.分支結構
在實際的專案開發中,盡量保證master分支穩定,僅用于發布新版本,平時不要隨便直接修改里面的資料檔案,
干活都在dev分支上,每個人從發dev分支創建自己個人分支,開發完合并到dev分支,最后dev分支合并到master分支,
13.1.創建分支
git branch linux # 創建分支
git checkout linux # 切換分支
git branch # 查看當前分支情況,當前分支前有*號
13.2.合并分支
想把linux的作業成果合并到master分支上
先切換到master分支
git merge linux # 合并linux分支至master
查看合并的檔案
git branch -d linux # 確認合并完成后,可以放心地洗掉linux分支
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/193860.html
標籤:其他
