分布式:git
版本控制系統是乙個分布式的系統,是用來儲存工程源**歷史狀態的命令列工具。
儲存點:git的儲存點可以追蹤原始碼中的檔案, 並能得到某乙個時間點上的整個工程專案的狀態;可以在該儲存點將多人提交的原始碼合併, 也可以回退到某乙個儲存點上。
git基於快照:svn等老式版本控制工具是將提交點儲存成補丁檔案,git提交是將提交點指向提交時的專案快照,提交的東西包含一些元資料(作者,日期,gpg等)。
git的分支和合併:分支模型是git最顯著的特點,因為這改變了開發者的開發模式,svn等版本控制工具將每個分支都要放在不同的目錄中,git可以在同乙個目錄中切換不同的分支。
分支即時性:建立和切換分支幾乎是同時進行的,使用者可以上傳一部分分支,另外一部分分支可以隱藏在本地,不必將所有的分支都上傳到github中去。
分支靈活性:使用者可以隨時建立、合併、刪除分支,多人實現不同的功能,可以建立多個分支進行開發,之後進行分支合併,這種方式使開發變得快速、簡單、安全。
當倉庫已存在,則刪除
$ git remote rm origin
ubuntu下安裝:sudo apt-get install git
配置使用者名稱:git config --global user.name "你的名字"
配置e-mail:git config --global user.email "你的郵箱@xx.com"
將當前目錄變為倉庫:git init
將檔案新增到暫存區:git add 檔名 [可選:另乙個檔名]
將暫存區提交到倉庫:git commit –m "描述"
查詢倉庫狀態:git status
比較檔案差異(請在git add之前使用):git diff 檔名
檢視倉庫歷史記錄(詳細):git log
檢視倉庫歷史記錄(單行):git log --pretty=online
或git log --online
檢視所有版本的commit id:git reflog
撤銷工作區的修改:git checkout -- 檔名
撤銷暫存區的修改:git reset head 檔名
回退到歷史版本:git reset --hard 該版本id
回退到上個版本:git reset --hard head^
上上版本是head^^
,也可用head~2
表示,以此類推
為當前版本打標籤:git tag 標籤名
為歷史版本打標籤:git tag 標籤名 該版本id
指定標籤說明:git tag –a 標籤名 –m "標籤說明" [可選:版本id]
檢視所有標籤:git tag
檢視某一標籤:git show 標籤名
刪除某一標籤:git tag –d 標籤名
先有本地庫,後有遠端庫,將本地庫push到遠端庫
第一次將本地倉庫推送到github上:git push –u origin master
先有遠端庫,後有本地庫,從遠端庫clone到本地庫
Git教程 簡介
cvs及svn都是集中式的版本控制系統,而git是分布式版本控制系統,集中式和分布式版本控制系統有什麼區別呢?集中式版本控制系統,版本庫是集中存放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以要先從 伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給 伺服器。伺服器就好比是乙個圖...
Git教程 簡介
git 是乙個開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux 核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端...
Git 簡介 安裝
tags git git安裝 參考部落格 參考部落格 git是開源的分布式版本控制系統,即對軟體開發過程中各種程式 配置檔案及說明文件等檔案變更的管理。這裡可以理解為 主要可以用於管理不同版本的 和文件,便於記錄 修改 刪除 github是乙個面向開源及私有軟體專案的託管平台,乙個 提供給使用者空間...