git是乙個開源的分布式版本控制軟體,用以有效、高速的處理從很小到非常大的專案版本管理。 git 最初是由linus torvalds設計開發的,用於管理linux核心開發。git 是根據gnu通用公共許可證版本2的條款分發的自由/免費軟體,安裝參見:
之前我們寫**,為了防止出錯,我們經常會寫一些功能然後在另外的地方儲存乙份,這種操作是我們能想到的最基本的版本控制。但是這種原式的版本控制,有很多顯著缺點:
為了解決以上版本控制存在問題,應運而生了一批版本控制工具:vss、cvs、svn、git等,其中git屬於絕對霸主地位。
注意:一般版本控制工具包含兩部分
現在我們找到了版本控制神奇git,它是如何用的呢?
macbook-pro-4:pondo yaya$ pwd # 進入程式目錄初始化後,會在當前目錄自動建立 .git 資料夾,該檔案是git中最重要的資料夾,因為git相關檔案以及版本都將儲存在該資料夾中,通過git命令可以將所有版本儲存在 .git 檔案中,兩條命令建立乙個版本:/users/yaya/pycharmprojects/pondo
macbook-pro-4:pondo yaya$ git init # git初始化
initialized empty git repository in /users/yaya/pycharmprojects/pondo/.git/
macbook-pro-4:pondo wupeiqi$ git status # 檢視當前git狀態注意:執行git commit 命令時,可能會提示進行使用者和郵箱的配置,該配置用於記錄當前版本由那個使用者提交on branch master
initial commit
untracked files:
(use "git add ..." to include in what will be committed)
.idea/
db.sqlite3
manage.py
pondo/
readme
templates/
nothing added to commit but untracked files present (use "git add" to track)
macbook-pro-4:pondo wupeiqi$ git add . # 新增當前目錄下所有檔案到版本庫
macbook-pro-4:pondo wupeiqi$ git commit -m '第一次提交' # 提交到版本庫,並填寫版本說明,以便以後回滾。
[master (root-commit) df47fe4] 第一次提交
33 files changed, 879 insertions(+)
create mode 100644 .idea/dictionaries/wupeiqi.xml
create mode 100644 .idea/encodings.xml
create mode 100644 .idea/inspectionprofiles/profiles_settings.xml
...
git把管理的檔案分為了兩個區域四個狀態。
工作區:當前開發程式所在目錄稱為工作區,即:工作開發都是在該目錄,該區域的檔案會有狀態的變化且狀態由git自動檢測,如果程式中檔案做任何操作(增、刪、改),檔案狀態均會被檢測到,可以使用 【git status】命令檢視。
macbook-pro-4:pondo yaya$ ls # 檢視原程式目錄版本庫:工作區檢測到有檔案發生變化,那麼意味著較上乙個版本之後對程式進行了修改,修改完成之後,可以當做下一版本進行提交,那麼就是執行 【git add .】 將所有檔案提交到暫存區,然後再執行【git commit -m '又乙個版本'】提交到版本庫的分支即可,之後可以使用【git log】命令檢視版本記錄。macbook-pro-4:pondo yaya$ git status # 檢視git當前狀態
on branch master
nothing to commit, working tree clean
macbook-pro-4:pondo yaya$ touch a.py # 建立新檔案
macbook-pro-4:pondo yaya$ ls
macbook-pro-4:pondo yaya$ git status # 檢視git當前狀態,檢測到:工作區 a.py 發生變化
on branch master
untracked files:
(use "git add ..." to include in what will be committed)
a.py
nothing added to commit but untracked files present (use "git add" to track)
macbook-pro-4:pondo yaya$ ls目前已使用git的四個命令,這四個命令已經可以代替本地多個檔案儲存版本的方式:macbook-pro-4:pondo yaya$ git status # 檔案顏色為紅色,表示在工作區的被修改狀態
on branch master
untracked files:
(use "git add ..." to include in what will be committed)
a.py
nothing added to commit but untracked files present (use "git add" to track)
macbook-pro-4:pondo yaya$ git add . # 將所有相較上一次版本之後所有的修改新增到暫存狀態
macbook-pro-4:pondo yaya$ git status # 檔案顏色為綠色,表示在版本庫的暫存狀態
on branch master
changes to be committed:
(use "git reset head ..." to unstage)
new file: a.py
macbook-pro-4:pondo yaya$ git commit -m '又一次提交' # 提交到版本庫的分支
[master f139d5d] 又一次提交
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 a.py
macbook-pro-4:pondo yaya$ git log # 檢視歷史版本提交記錄(根據版本commit值可以進行回滾)
commit f139d5d0a648af06d8a1ecadd90faf572afc388a
author: 丫丫 date: fri aug 11 10:02:14 2017 +0800
又一次提交
commit df47fe49fc1f14d9cdd1534baa96f46ec71a9934
author: 丫丫 date: fri aug 11 08:49:49 2017 +0800
第一次提交
git操作之初始化
1 git連線 git config global user.email git註冊的賬號 git config global user.name git的註冊使用者名稱 git config list 檢視使用者資訊 ssh keygen t rsa c git註冊賬戶 建立sshkey ssh ...
Git之初體驗 持續更新
本文主要通過 git來同步本地與線上伺服器專案,從而熟悉git管理的一些常用命令,非新手請跳過 初次接觸git 註冊帳號 登陸後在右上角點選 號,選擇並點選 new repository 新建 倉庫,私人專案選擇private,公開專案可選擇public 成功建立repository後,官方提供ht...
使用VirtualBox SDK之初步編譯
virtualbox成功編譯出來後,在生成的out資料夾中會發現有sdk資料夾 當然也可以直接從官網下sdk 裡面有例子,但是直接用visual studio編譯的話會出一大堆錯誤,本文就是講解如何使之編譯通過。如果使用visual studio直接建立工程,把例子cpp virtualbox 4....