版本控制器:集中式、分布式
集中式:cvs/svn等 缺點:必須聯網,(**必須推送到**伺服器)
分布式:git等 不必聯網,速度快,安全性很高,(每個人的電腦都有完整的版本庫)
git的使用
一:安裝:
linux安裝:
git (檢視是否安裝)
debian或ubuntu linux:sudo apt-get install git (安裝)
windows安裝:
②輸入使用者名稱、郵箱
git config --global user.name '使用者名稱'
git config --global user.email '郵箱'
--global:這台機器上所有的git倉庫都使用這個配置;也可對個別倉庫指定使用者名稱和郵箱
二:建立版本庫(倉庫)(目錄)
①尋找乙個合適的位置,建立空目錄(如果是window,避免包含中文目錄)
mkdir 目錄 (建立乙個目錄)
cd 目錄(進入目錄)
pwd(檢視當前位置)
②將空目錄變成git可以管理的倉庫
git init(初始化,本地資料夾同級會出現乙個隱藏的.git資料夾用來跟蹤管理版本庫)
ls -ah(檢視隱藏的版本庫)
③將檔案新增到版本庫(檔案必須放到建立的版本庫的目錄下)
git add 檔名1 檔名2(把檔案新增到倉庫)
git commit -m '注釋'(把檔案提交到倉庫)
三:版本修改
修改檔案後
git status(檢視倉庫當前的狀態)
git diff 檔名(對該檔案做了哪些修改)
git add 檔名(提交修改、新增到版本庫)
git status(檢視狀態)
git commit -m '注釋'(提交到版本庫)
git status(檢視狀態會提示當前沒有需要提交的修改,而且,工作目錄是乾淨(working directory clean)的)
撤銷修改
add前,僅撤銷工作區修改(撤銷修改就回到和版本庫一模一樣的狀態):git checkout --檔名
add後commit前 撤銷暫存區修改(撤銷修改就回到新增到暫存區後的狀態):(1)git reset head 檔名(回退)(2)git checkout --檔名(撤銷)
已推送到遠端庫:自求多福。。。
四:版本回退
git log(顯示從最近到最遠的提交日誌)
git log --pretty=oneline(顯示從最近到最遠的提交日誌,輸出版本號(commit id),檔名,更清晰)
git reset --hard head^(回退到上乙個版本)
git reset --hard head^^(
回退到上上乙個版本)
git reset --hard head~100(
回退到上100版本
)cat 檔名()
git log(現在版本庫的狀態)
git reset --hard 版本號id(指定版本號回退(可以不寫全))
git reflong(檢視命令歷史)
五:工作區和暫存區
工作區:電腦中能看到的目錄
暫存區:版本庫中的stage(index),版本庫自動建立的分支master,指向master的指標head
git add (將檔案新增到暫存區)
git commit(將檔案從暫存區提交到當前分支)(檔案必須先通過git add 新增到暫存區後通過git commit才能提交)
六:刪除檔案
git rm 檔名(刪除)
git commit -m '注釋'(提交)
誤刪:git checkout --檔名(恢復,用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」)
(只能恢復檔案到最新版本,你會丟失
最近一次提交後你修改的內容)
七:新增遠端倉庫(github)
在github上建立乙個版本庫
關聯乙個遠端庫:git remote add 庫名 git @server-name:使用者名稱/repo-name.git
推送:git push -u origin master (第一次推送master分支的所有內容)
(此後,每次本地提交後,只要有必要,就可以使用命令:git push origin master
)轉殖版本庫
git clone 位址(轉殖改位址對應的版本庫)
八:分支管理
(一)建立與合併分支
只有主分支:master
建立分之後:dev
在dev分支上操作完提交後:
合併分支:
刪除dev分支:
git branch(檢視分支)
git branch 分支名稱(建立分支)
git checkout 分支名稱(切換分支)
git checkout -b 分支名稱(建立並切換分支)
git merge 分支名稱(合併某分支至當前分支)
git branch -d 分支名稱(刪除某分支)
(二)分支衝突
在不同過的分支上均對同一檔案進行修改
當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。
第一次修改並提交(commit後),切換到另一分支再次修改並提交(commit後),會有衝突
git status (告訴我們衝突的檔案)
修改衝突後再提交
git log --graph --pretty=oneline --abbrev-commit(可以看到分支的合併情況)
如:
刪除分支:
git branch -d 分支名稱
詳情可諮詢:
git版本控制器
git是目前世界上最先進的分布式版本控制系統。將雲端專案 拉取到本地,在git bash下執行 git clone 專案位址 建立本地分支 git branch dev 建立乙個dev分支 git branch a 檢視分支資訊,上部分為本地 下部分為遠端 git push 把 提交到雲端git p...
Git版本控制器 簡介
git 讀音為 g t 是乙個開源的分布式版本控制系統,可以有效 高速地處理從很小到非常大的專案版本管理。git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。分布式相比於集中式的最大區別在於開發者可以提交到本地,每個開發者通過轉殖 git...
版本控制器 Git 的使用
達到多人協同開發的目的 安裝成功後桌面右鍵可以看到git選單 將已有的資料夾作為git倉庫 cd 目標資料夾內部 git init 在指定目錄下建立git倉庫 cd 目標目錄 git init 倉庫名 當前倉庫 區域性 git config user.name 使用者名稱 使用者名稱 git con...