git 操作
阿新 • • 發佈:2020-07-20
git
簡介
1:什麼是git 版本控制器 - 控制的物件是開發的專案程式碼 2:程式碼開發時間軸: 需求1 => 版本庫1 ==> 需求2 => 版本庫2 => 版本庫3(版本庫1) => 版本庫4(版本庫2) 3:版本控制器 完成協同開發專案,幫助程式設計師整合程式碼 i)幫助開發者合併開發的程式碼 ii)如果出現衝突程式碼的合併,會提示後提交合並程式碼的開發者,讓其解決衝突 軟體:SVN 、 GIT(都是同一個人的個人專案) github、gitee(兩個採用git版本控制器管理程式碼的公共平臺) git:叢集化、多分支 4:git裝完,既有客戶端,又有服務端 5:git工作流程 -工作區,暫存區,版本庫 6:遠端倉庫:github,碼雲,公司內部(gitlab)
git與svn比較
1:svn(集中式管理),git(分散式管理)
git的工作流程
git版本間通訊
git分支管理
git安裝
1.下載對應版本:https://git-scm.com/download
2.安裝git:在選取安裝路徑的下一步選取 Use a TrueType font in all console windows 選項(一路下一步即可)
git使用
核心總結(流程)
1)有紅色資訊(工作區有內容),就執行 add
2)全綠資訊(內容全部在暫存區),才執行 commit
3)只有被版本庫控制的程式碼,才能被監聽,所以可以回滾到任何一個版本
相關命令
# 紅色表示未被管理 # 綠色表示提交到暫存區了 右鍵--git bash here 1:將已有的資料夾 - 初始化為git倉庫 1.1:進入你想管理的資料夾內部 cd 目標資料夾名 1.2:初始化 git init 資料夾名---->指定資料夾下初始化為git倉庫 git init------>當前路徑全部被管理 2:在倉庫目錄終端下 - 設定全域性使用者 git config --global user.name '使用者名稱' git config --global user.email '使用者郵箱' 注:在全域性檔案 C:\Users\使用者資料夾\.gitconfig新建使用者資訊,在所有倉庫下都可以使用 3:在倉庫目錄終端下 - 設定區域性使用者 git config user.name '使用者名稱' -- 使用者名稱 git config user.email '使用者郵箱' -- 使用者郵箱 注:在當前倉庫下的config新建使用者資訊,只能在當前倉庫下使用 注:一個倉庫有區域性使用者,優先使用區域性使用者,沒有配置再找全域性使用者 4:檢視庫狀態 當倉庫中有檔案增加、刪除、修改,都可以在倉庫狀態中檢視 git status -- 檢視倉庫狀態 git status -s -- 檢視倉庫狀態的簡約顯示 5:工作區操作 通過任何方式完成的檔案刪與改 空資料夾不會被git記錄 6:撤銷工作區操作:改、刪(瞭解) git checkout . -- 撤銷所有暫存區的提交 git checkout 檔名 -- 撤銷某一檔案的暫存區提交 eg:把a的新增提交到版本管理,然後新建b,在a中新增一行 -git checkout . # 恢復到提交版本的位置,a是空的,b沒有被git管理,所有,是什麼樣,還是什麼樣 7:工作區內容提交到暫存區 git add . -- 新增專案中所有檔案 git add 檔名 -- 新增指定檔案 8:撤銷暫存區提交:add的逆運算(很少使用) git reset HEAD . -- 撤銷所有暫存區的提交 git reset 檔名 -- 撤銷某一檔案的暫存區提交 git reset . -- 撤銷所有暫存區的提交 9:提交暫存區內容到版本庫 git commit -m "版本描述資訊" 10:撤銷版本庫提交:commit的逆運算 回滾暫存區已經提交到版本庫的操作: 檢視歷史版本: >: git log >: git reflog 檢視時間點之前|之後的日誌: >: git log --after 2018-6-1 >: git log --before 2018-6-1 >: git reflog --after 2018-6-1 >: git reflog --before 2018-6-1 檢視指定開發者日誌 >: git log --author author_name >: git reflog --author author_name 回滾到指定版本: 回滾到上一個版本: >: git reset --hard HEAD^ >: git reset --hard HEAD~ 回滾到上三個版本: >: git reset --hard HEAD^^^ >: git reset --hard HEAD~3 回滾到指定版本號的版本: >: git reset --hard 版本號 (重點) >: eg: git reset --hard 35cb292 11:忽略檔案 空資料夾不被管理 指定某些檔案或者資料夾不被git管理 步驟:在專案根路徑,跟.git資料夾一個路徑,新建.gitignore.,在裡面配置 # 號是註釋,沒有用 資料夾名字,表示資料夾忽略,不被管理 /dist 表示根路徑下的dist資料夾,不被管理 *.py 表示字尾名為py的檔案,都被忽略 *.log* 12:分支操作: 檢視分支 git branch 檢視所有分支,分支是綠的,表示在當前分支上 建立分支 git branch dev 建立並切換到 git checkout -b dev 刪除分支 git branch -d dev 切換分支 git checkout dev 合併分支 git merge 分支名 # 把dev分支合併到master分支:切換到master分支,執行合併dev分支的命令