版本控制器 Git

2021-08-15 20:16:17 字數 3582 閱讀 1626

版本控制器:集中式、分布式

集中式: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...