日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

version control(版本控制)

發布時間:2024/4/17 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 version control(版本控制) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

版本控制系統(version control system),是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統。版本控制系統不僅可以應用于軟件源代碼的文本文件,而且可以對任何類型的文件進行版本控制。用的比較多的如svn,git等。

為了讓不同系統上的開發者能夠協同工作,集中化的版本控制系統應運而生(CVCS)。這類系統都有一個單一的集中管理的服務器,保存所有文件的修訂版本。而協同工作的人們都通過客戶端連接到這臺服務器,獲取最新的文件或者提交更新。集中化的版本控制系統,最顯而易見的缺點是中央服務器的單點故障問題。如果宕機,那么就會出現誰都無法提交更新的情況,那么也就無法協同工作;如果磁盤發生故障,而備份又不夠即時,那么就有丟失數據的風險,最壞的情況是丟失整個項目的歷史更改記錄。因此,分布式版本控制系統問世了(DVCS)。

在分布式版本控制系統中,客戶端不僅僅是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來。所以每一次提取的操作,都是對代碼倉庫的完整備份,因此也就不必擔心協同工作用的服務器發生故障。

Git和其他版本控制系統的主要差別在于:Git只關心文件數據的整體是否發生了變化,而多數的其他系統則只關心文件內容的具體差異,它們在每個版本中記錄著各個文件的具體差異。在Git中的絕大多數操作都只需要訪問本地文件和資源,不需要聯網。這是因為Git在本地磁盤上就保留著所有當前項目的歷史更新,所以處理起來速度飛快,這是使用空間換時間的處理方式。使用Git,即使在沒有網絡或VPN的情況下,你同樣可以非常愉快的頻繁提交更新,等到有了網絡的時候再提交到遠程的倉庫。

Git入門

使用Git前,需要先建立一個倉庫(repository)。您可以使用一個已經存在的目錄作為Git倉庫或創建一個空目錄。

使用您當前目錄作為Git倉庫,我們只需使它初始化。

git init

使用我們指定目錄作為Git倉庫。

git init newrepo

從現在開始,我們將假設您在Git倉庫根目錄下,除非另有說明。

添加新文件

我們有一個倉庫,但什么也沒有,可以使用add命令添加文件。

git add filename

可以使用add... 繼續添加任務文件。

提交版本

現在我們已經添加了這些文件,我們希望它們能夠真正被保存在Git倉庫。

為此,我們將它們提交到倉庫。

git commit -m "Adding files"

如果您不使用-m,會出現編輯器來讓你寫自己的注釋信息。

當我們修改了很多文件,而不想每一個都add,想commit自動來提交本地修改,我們可以使用-a標識。

git commit -a -m "Changed some files"

git commit 命令的-a選項可將所有被修改或者已刪除的且已經被git管理的文檔提交到倉庫中。

千萬注意,-a不會造成新文件被提交,只能修改。

發布版本

我們先從服務器克隆一個庫并上傳。

git clone ssh://example.com/~/www/project.git

現在我們修改之后可以進行推送到服務器。

git push ssh://example.com/~/www/project.git

取回更新

如果您已經按上面的進行push,下面命令表示,當前分支自動與唯一一個追蹤分支進行合并。

git pull

從非默認位置更新到指定的url。

git pull http://git.example.com/project.git

刪除

如何你想從資源庫中刪除文件,我們使用rm。

git rm file

分支與合并

分支在本地完成,速度快。要創建一個新的分支,我們使用branch命令。

git branch test

branch命令不會將我們帶入分支,只是創建一個新分支。所以我們使用checkout命令來更改分支。

git checkout test

第一個分支,或主分支,被稱為"master"。

git checkout master

對其他分支的更改不會反映在主分支上。如果想將更改提交到主分支,則需切換回master分支,然后使用合并。

git checkout master

git merge test

如果您想刪除分支,我們使用-d標識。

git branch -d test

轉載于:https://www.cnblogs.com/XZY30/p/10478368.html

總結

以上是生活随笔為你收集整理的version control(版本控制)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。