Git入門(一) 簡介

2021-07-16 22:30:32 字數 3423 閱讀 9663

作為目前最流行的版本控制系統,git是大多數開發者進行專案管理和版本控制的首選。同時,對git的熟練使用也成為開發者必備的技能。

筆者尚處於git的入門學習階段,本系列博文是自己學習過程的記錄和總結,開這麼乙個大坑也是希望以此作為對自己學習的一種激勵,其中難免有錯誤或理解不準確的地方,懇請各位指正。

本文內容包括git簡介、git功能特點、git與svn、git衍生產品等。

git是一款優秀的分布式版本控制系統,最初由linus torvalds編寫,用於linux核心**的管理。

git發布於2023年,其問世過程極具故事性。

最初,linux核心**管理不借助版本控制系統,完全由手工完成。

2023年,bitkeeper的所有者bitmover公司與linux社群建立合作關係,linux社群獲得了免費的bitkeeper使用授權。bitkeeper是乙個閉源的分布式版本控制系統,由bitmover公司運營管理。

2023年,bitmover公司終止linux社群的免費使用權,linus torvalds一怒之下用了僅僅兩周的時間便開發出了git,這一10餘年而不衰的傑作。

git最初因linux而生,也隨著linux的流行而發展,git開源、免費、高效的特點是其得以流行的主要原因。

git發展至今,依然遵循著最初設定的目標。透過這些目標,我們可以更深入地理解git的設計思想和組織邏輯。

git帶有明顯的linux特點:

一、開源免費

git完全開源且免費,github部分收費,具體區別見git衍生產品。

二、分布式

git**儲存的方式是分布式的,與以svn為代表的集中式版本控制系統不同,具體區別見git與svn。

三、命令列親和

git誕生自linux,目前為止大多數應用場合也是linux,git對命令列親和也不足為奇。最初,git只能通過命令列進行操作,不支援windows。後來,git提供windows版本,具有簡單的圖形介面,但大多數操作還是需要在git bash下通過命令列完成。

四、靈活但複雜

靈活,可配置性強,這是linux的一貫風格。git允許使用者進行靈活多樣的操作,同時,也增加了操作的複雜性和學習的難度。例如,git提供多種工作流,使用者可以自行配置使用,但對於新手入門難度就相應提高了。

git常用工作流:

分布式的優勢在於沒有中心節點,系統穩定性較高,不存在中心節點故障造成的意外損失。

值得注意的是,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這台伺服器僅僅提供分支管理等功能,不是系統的中心節點,可以不存在,也可以自由改變位置。

svn是一種典型的集中式版本控制系統,同樣,集中式主要體現在**儲存方式上。svn中,版本庫集中儲存在中心伺服器中,每次修改前,要先從中心伺服器取得最新的版本,修改完成後,再把本地版本推送給中心伺服器。

集中式版本控制系統對中心伺服器的依賴程度很高,中心伺服器的任何故障都可能是致命性的。

集中式的工作流程更接近一般人的思維方式,因此,至今仍被大量使用。分布式是近年的一種潮流,在穩定性、經濟性等方面具有優勢。

markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。 —— [ 維基百科 ]

使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細語法參考幫助?。

本編輯器支援markdown extra,  擴充套件了很多好用的功能。具體請參考github.

markdown extra**語法:

專案**

computer

$1600

phone

$12pipe$1

可以使用冒號來定義對齊方式:

專案**

數量computer

1600 元

5phone

12 元

12pipe

1 元234

markdown extra定義列表語法:

專案1

專案2定義 a

定義 b

專案3定義 c

定義 d

定義d內容

**塊語法遵循標準markdown**,例如:

@requires_authorization

defsomefunc

(param1='', param2=0):

'''a docstring'''

if param1 > param2: # interesting

print

'greater'

return (param2 - param1 + 1) or

none

class

someclass:

pass

>>> message = '''interpreter

... prompt'''

生成乙個腳注1.

[toc]來生成目錄:

離線寫部落格

瀏覽器相容

使用mathjax渲染latex 數學公式,詳見math.stackexchange.com. x

=−b±

b2−4

ac−−

−−−−

−√2a

更多latex語法請參考 這兒.

可以渲染序列圖:

或者流程圖:

即使使用者在沒有網路的情況下,也可以通過本編輯器離線寫部落格(直接在曾經使用過的瀏覽器中輸入write.blog.csdn.net/mdeditor即可。markdown編輯器使用瀏覽器離線儲存將內容儲存在本地。

使用者寫部落格的過程中,內容實時儲存在瀏覽器快取中,在使用者關閉瀏覽器或者其它異常情況下,內容不會丟失。使用者再次開啟瀏覽器時,會顯示上次使用者正在編輯的沒有發表的內容。

部落格發表後,本地快取將被刪除。 

使用者可以選擇 把正在寫的部落格儲存到伺服器草稿箱,即使換瀏覽器或者清除快取,內容也不會丟失。

注意:雖然瀏覽器儲存大部分時候都比較可靠,但為了您的資料安全,在聯網後,請務必及時發表或者儲存到伺服器草稿箱

ie9以下不支援

ie9,10,11存在以下問題

不支援離線功能

ie9不支援檔案匯入匯出

ie10不支援拖拽檔案匯入

這裡是腳注的 內容. ↩

Git入門簡介

github github就是乙個基於git的 託管 在上面,你可以免費託管你的 進行版本控制,同別人協同開發,眾多優秀開發者的 託管地。gitlab 使用git作為 管理工具,並在此基礎上搭建起來的web服務。以github為例,2.本地建立空資料夾,在檔案下執行以下demo git init 初...

git入門 尚矽谷 git簡介

關鍵字 什麼是git git是一種分布式版本控制工具 git功能 協同修改 資料備份 不僅能備份當前檔案狀態,還能儲存檔案的每乙個提交過的狀態 版本管理 在儲存檔案的時候,能夠做到不重複的儲存檔案資訊 許可權控制 對團隊內的成員進行許可權控制 對團隊外的成員驚醒 的審核 git獨有 歷史紀錄 檢視修...

工具簡介(一) Git

git 簡介 git是一款免費 開源的分布式版本控制系統,用於敏捷高效地處理任何或小或大的專案。同 svn一樣,作為一種專案管理的工具。在很多開源社群,很多 都是用的 git,所以需要稍微了解使用一下這個工具。對於 svn我們大家都比較熟悉,用的比較多,那麼我們來比較一下 git與 svn。最顯著的...