Git安裝及基本使用方法
3.Git簡介
3.1 專案的版本管理
在專案開發過程中,專案沒開發到一個節點就會對當前專案進行備份,這個備份就是專案的一個版本;當我們繼續開發一個階段後再進行備份,就生成新的版本一一多個版本的集合就是專案的版本庫
在專案管理中,我們可以使用手動進行管理,但是存在一些問題:
- 需要手動維護版本的更新日誌,記錄每個版本的變化
- 需要手動查詢歷史版本,當歷史版本比較多的時候,查詢工作很繁瑣
- 當我們需要回退到某個版本時,只能夠手動的通過IDE工具手動開啟
3.2 團隊協同開發
3.3 版本管理工具——Git
Git是一個開源的分散式版本控制系統,用於敏捷高效的處理任何大小專案的版本管理。
核心功能:
- 專案的版本管理
- 團隊協同開發
3.4 Git下載及安裝
3.4.1 下載Git
Git - Downloads (git-scm.com) |
---|
|
3.4.2 安裝Git
除了選擇安裝位置以外,其他都是傻瓜式安裝
3.4.3 檢查
- win + r
- 輸入cmd
- 輸入git --version
3.5 Git架構
3.6 Git基本使用
3.6.1 建立版本庫
- 在工作空間的目錄中,右鍵“Git Bash Here”開啟git終端
- 在git終端中輸入Git init指令,建立本庫(就是一個.git目錄)
3.6.2 檢視版本庫狀態
git status
3.6.3 將工作空間的修改新增到暫存區
git add a.txt ##只將工作空間中的某個檔案add到暫存區
git add . ##將工作空間中所有檔案都add暫緩區中
3.6.4 將暫存區內容提交到版本庫(倉庫)
git commit -m '版本說明'
3.6.5 檢視版本庫的歷史版本
git log --oneline ## 每個版本資訊只顯示一行,只能顯示從初始化專案,到本狀態的專案
git log ## 顯示每個版本的詳細資訊
3.6.6 設定使用者資訊
因為我們將暫存區的內容提交到版本時,會記錄當前版本的提交使用者資訊,因此在版本提交之前需要先繫結使用者資訊
|
|
| -------------------------------------------------------- |
3.6.7 同步歷史版本到工作空間
git checkout 版本號
3.7 遠端倉庫
3.7.1 遠端倉庫
3.7.2 如何獲得遠端倉庫
- 使用GitLab搭建私服
- 遠端倉庫提供商
- GitHub https://gitbub.com
- Gitee(碼雲) https://gitee.com
- Coding
3.7.3 建立遠端倉庫
- 註冊賬號
- 建立遠端倉庫:https://gitee.com/hanhanwei/java01.git
- 遠端倉庫管理(新增開放人員)
3.7.4 遠端倉庫操作
一、準備工作:
- 建立本地工作空間:
- 初始化本地倉庫:
git init
- 將工作空間搭建的專案結構add到暫緩區:
git add .
- 將暫存區檔案提交到版本庫,生成第一個版本:
git commit -m '建立專案'
- 為當前專案建立一個遠端倉庫:
https://gitee.com/hanhanwei/fmwy.git
二、本地倉庫關聯遠端倉庫
建立D:\fmwy中的本地倉庫和遠端倉庫
https://gitee.com/hanhanwei/fmwy.git 的關聯
git remote add origin https://gitee.com/hanhanwei/fmwy.git
三、檢視遠端倉庫狀態
git remote -v
四、將本地倉庫push到遠端倉庫
push到遠端倉庫需要gitee的賬戶和密碼
git push origin master
3.7.5 其他開發者pull遠端倉庫到本地
其他開發者:gitee賬號 密碼
- 先建立本地倉庫
- 在E盤建立一個空目錄(ws),進入ws目錄,開啟Git客戶端
- 建立本地倉庫
git init
- 拉取遠端倉庫到本地
- 拉取遠端倉庫
git pull 遠端倉庫地址 master
建立關聯的就可以用邏輯名稱,沒有建立關聯的使用真的遠端倉庫地址
3.7.6 解決協同開發衝突問題
3.8 分支管理
3.8.1 什麼是分支
分支就是版本庫中記錄版本位置(支線),分支之間專案會影響,使用分支可以對專案起到保護作用。
分支就是一條時間線,每次提交就在這條時間線上形成一個版本
3.8.2 分支特性
-
建立一個新的版本庫,預設建立一個主分支——master分支
-
每個分支可以進行單獨管理(常規分支、保護分支、只讀分支)
-
分支是可以合併的
3.8.3 分支操作
- 建立分支
git branch branch_name
- 檢視分支
git branch
- 切換分支
git checkout branch_name
- 檢出分支
git checkout 版本號 -b branch_name
- 分支合併
- 三方合併
- 快速合併
# 在master分支執行 git merge dev 表示將dev分支合併merge
git merge breanch_name
3.8.4 企業分支模型
3.9 idea整合Git使用
作為Java開發工程,我們程式碼的編寫工作都是在IDE工具(Idea)中完成
3.9.1 IDEA關聯Git
3.9.2 IDEA中GIt版本管理
準備工作:開啟IDEA新建一個web工程
3.9.3 設定忽略檔案
在工作空間中有些檔案是不需要記錄到版本庫中的(例如.idea、target、iml檔案),可以通過設定忽略提交來實現
- 在工作空間的根目錄(專案的根目錄)中建立一個名為.gitignore檔案
- 在.gitignore檔案配置忽略過濾條件
.idea
target
*.iml
3.9.4 將工作空間add到暫存區
- 選擇專案/某個檔案---右鍵---Git----Add(新增到暫存區的檔案---綠色)
- 如果一個檔案建好之後還沒有新增到暫存區---棕紅色
- 新增到暫存區的操作可以設定預設新增
3.9.5 將暫存區提交到版本庫
- 選擇專案/檔案---右鍵---git---Commit(新增到版本庫的檔案--黑色)
- 如果對記錄到版本庫的檔案進行了修改,也就是說工作空間和版本庫不一致---藍色
3.10 IDEA中Git分支管理
3.10.1 建立分支
- 點選IDEA右下角
Git
- 在彈窗中點選
New Branch
- 輸入新分支的名稱
3.10.2 切換分支
- 點選IDEA右下角Git
- 點選非當前分支右邊的箭頭
- 在選項卡點選
checkout
3.10.3 刪除分支
3.10.4 合併分支
例如:將dev合併到master
- 切換到master分支
- 點選dev分支右面的箭頭,在展開的選單中選擇
merge into current
3.10.5 IDEA中使用Git進行團隊協同開發
- 專案管理者
-
完成專案搭建:步驟略
-
為當前專案建立本地版本庫
-
將搭建好的專案提交到本地版本庫
- add到暫存區
- commit到版本庫
-
建立遠端版本庫(遠端倉庫)
- https://gitee.com/hanhanwei/git-jd.git
- 管理--新增開發者
-
將本地倉庫push到遠端倉庫(master分支-----master分支)
遠端倉庫連線 |
---|
- 在遠端倉庫新建dev(本地分支)分支(master需要進行保護)
- 將本地dev分支push到遠端倉庫,新建遠端倉庫的dev分支
- 設定遠端倉庫中master分支為保護分支
- 專案開發者
1.從管理員提供的遠端倉庫中下載專案(開啟一個沒本地倉庫的檔案)
|
|
| -------------------------------------------------------- |
|
|
- 開啟專案(此時本地工作空間的專案和遠端倉庫是同步的)
- 開發步驟:
- 選擇要修改的檔案----pull
- 進行修改操作
- 測試本地修改
- add到暫存區
- commit到本地版倉庫
- push到遠端倉庫
3.11 解決團隊協同開發的衝突問題
衝突:在pull之後,push之前被其他開發者這push成功
- 選擇產生的檔案-----pull
- 彈出彈窗提示:accpet yours|accept theirs|Merge
- accpet yours 保留自己的版本(提交時會覆蓋其他開發者程式碼)
- accpet theirs 保留遠端倉庫上的版本(會導致自己修改的程式碼丟失)
-
merge
手動合併(和其他開發者溝通合併方案)