git语言包安装_Git分布式版本管理系统快速入门指南
為什么要使用版本管理系統
無論有沒有使用過專業化工具,每個人都或多或少地有版本管理的需求。我們在做論文、寫報告或者設計方案時,因為難以避免的不斷改動,總會形成很多個不同的版本,我們可能會用“某某設計方案_20180910”這樣加上日期后綴的方法來管理不同日期的版本,但更多的時候會出現“某某設計方案最終版”、“最最終版”、“絕對不改版”這樣無奈而又混亂的文檔版本。而經過一段時間后,可能連作者本人也不知道所保存的每個版本都有什么特點和必要。如果要比較各個版本的詳細區別,就變得更加困難了。
版本管理系統正是用來科學地管理文檔版本的軟件系統,上述每一個問題都可以在版本管理系統中得到簡潔而高效的解決。雖然目前版本管理系統更多地用在變動頻繁的軟件項目中,但這只是因為程序員往往更接近這些軟件工具。對普通的電腦工作者來說,如果能正確使用版本管理系統,同樣可以為日常工作帶來巨大的效率提升。
版本管理系統在發展過程中經歷了本地化版本管理、集中式版本管理以及分布式版本管理三個階段1。本地化版本管理軟件僅能在本地計算機上使用,集中式版本管理系統具有中心化的倉庫(以CVS,Subversion為代表),缺點是如果服務器故障則可能無法使用。以Git為代表的分布式版本管理最初是Linus Torvalds為了維護Linux系統內核而設計編寫的,分布式版本管理系統,保證了在每個用戶計算機上都能保存完整的文檔倉庫,并能隨時與服務器版本比較與合并,是目前應用最廣泛的版本管理系統。
分布式版本管理系統的典型特點和功能包括:
- 正確的版本存儲。不需要分別命名就能簡單記錄和區分不同的版本。可以可視化比較不同文檔版本之間的差異和修改。可以隨時查看每個不同的歷史版本。
- 版本恢復。可以隨時恢復到任何一個版本繼續之前的工作。可以選擇性的合并不同的版本。
- 團隊協同。同一項目下的團隊成員可以共同進行文檔的修改和維護。所有修改的版本都可以得到有效的記錄和保存。
- 文檔備份。由于版本管理系統僅保存每個版本中修改掉的部分,因此可以以很小的代價保存更多的歷史版本,而不需要大量重復同一文件。如果具有版本管理系統的服務器,還可以將文檔備份在服務器上進行備份。
Git軟件的下載與安裝
在Git官網可以下載到各種操作系統下的Git客戶端(在MacOS和部分Linux發行版中,Git都已經預先安裝可以直接使用)。安裝Git客戶端后可以通過命令行開始使用Git,如果不習慣命令行操作,Git也提供了不同版本的GUI(圖形化)客戶端。需要注意的是,圖形化客戶端僅僅是Git客戶端的圖形化接口,需要先安裝Git客戶端后才可以安裝使用。使用較廣泛的Git圖形化客戶端包括TortoiseGit(推薦)、SourceTree和Github出品的Github Desktop。如果安裝的是官方Git for Windows客戶端,也可以同時安裝一個圖形化界面,但就使用而言,還是TortoiseGit之類軟件更為方便。一般來說,在安裝時使用默認設置即可,但Git在提交修改時默認啟用VI編輯器,如果完全不熟悉也可以改為VS Code或者其他編輯器(需要先安裝VS Code)。
所有基于終端的客戶端操作命令,都可以通過圖形化界面可視化完成,一般來說,終端命令行使用方便高效,而對新手與非專業人士來說,圖形化界面更友好與直觀。推薦的TortoiseGit有比較完整的中文語言包,下載安裝后可以使用更友好的中文界面(需要注意的是,中文版本命令的名稱也進行了翻譯,因此在使用時需要理解和一一對應)。
Git命令基礎
設置全局信息
Git客戶端/GUI界面安裝完成后,可以通過以下命令設置自己的資料,以在后續的版本提交中保持一個全局化身份(如果要使用遠程倉庫,則可能需要設置相應倉庫的登錄信息)。
$ git config新建倉庫
在版本管理系統中,使用倉庫(Repository)來表示一個版本管理的項目。一般來說,我們會以三種方式來開始一個版本管理系統。
- 空倉庫。新建一個空文件夾/目錄,在文件夾下運行命令行或者可視化客戶端,執行 git init來初始化一個git倉庫,這樣會在當前目錄下新建一個名為.git的隱藏文件(在非windows系統下,前綴為.的文件夾自動隱藏)。在該文件夾新建或者拷貝進來的文件都是本倉庫的文件。
- 已有文檔項目納入版本管理系統。在文件夾下已經有文檔管理的文件,同樣可以在文件夾下運行 git init命令來初始化git倉庫,把文件夾納入版本管理系統。(有些系統下,要求git倉庫只能從空文件夾開始,這種情況下就需要先按照上一種情況新建一個空倉庫,再把文件整個拷貝進去。)
- 下載一個遠程文檔倉庫來開始工作。如果遠程已經有現成的文檔庫(其他人創建的,或者自己的遠程文件備份,或者公開的軟件倉庫),可以使用git clone命令將遠程倉庫復制到本地開始工作。一般來說,遠程倉庫中會有用于復制的鏈接,直接復制即可,可以采用ssh或者http的方式進行下載。在圖形化界面下,如果下載需要用戶權限,系統會提醒輸入用戶名與密碼。
上述開始在本地電腦上新建一個軟件倉庫的命令包括:
git init #新建一個本地空倉庫 git clone #clone一個現有的遠程倉庫 git clone https://github.com/facebook/create-react-app.git #例如要復制create-react-app項目到本地來開始一個項目在很多情況下,我們的文件夾下可能包括一些不需要添加到版本管理中的文件,比如自動生成的.bak備份文件,或者項目編譯生成的build目錄等等(這些文件都是可以根據源文件重新生成的,不需要版本管理系統進行管理),這種情況下,我們需要在倉庫主目錄下新建一個.gitignore文件,列出不需要納入版本管理系統的文件和文件類型。在github等平臺都有針對不同類型項目的.gitignore文件模版,可以快速使用。比如,如果使用VS code編輯器,就需要至少將以下內容添加到.gitignore文件中。
.vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json修改與提交
默認情況下,倉庫文件夾下的文件并沒有納入到版本管理系統中,需要我們通過git add 命令進行添加。但逐一添加顯然過于麻煩,因此,在正確添加了.gitignore文件以后,我們可以通過 git add . 命令(注意add后的 . 是命令的一部分)把所有其他文件都納入到版本管理系統之下,在后續添加了文件之后也都可以使用 git add . 快速添加。添加到版本管理系統之下的所有文件的變更都會記錄在git系統中。
在進行完階段性工作之后,可以提交并進行保存。使用 git commit命令提交變更(只是在本地倉庫提交),也可以加上 -am 后綴提交所有變更并添加注釋。例如:
git add . #添加除了.gitignore中列出的文件之外所有文件到版本管理系統 git commit -am '第一次提交' #提交所有變更并添加說明 git status #查看當前改動的詳細情況 git rm abc.html #從版本控制中移除某個文件(更推薦將要移除的文件列入.gitignore) git rm -r --cached xxx.xxx #僅刪除遠程倉庫對應的文件,適用于文件誤上傳到遠程倉庫服務器的情況 git log #查看歷史提交記錄 git push #將改動上傳到遠方服務器分支的切換
如果將整個版本管理系統理解成一個沿著時間修改不斷生長的樹。那么分支就可以形象化的理解為每一個枝葉。默認的版本管理系統是在名為master的主分支上進行的。要階段性的保存不同的版本,可以通過新建分支來實現。
git branch #查看版本分支情況 git branch -b firstbranc #新建一個名為firstbrac的分支 git checkout firstbranc #切換到girstbranc分支進行工作 git branch --set-upstream [branch] [remote-branch] #將本地的分支提交到服務器 git merge firstbranc #合并firstbranc分支,如果切換回master分支,并將firstbranc分支合并進去,則可以使用 git checkout master, git merge firstbranc工作的保存與撤銷
經常提交commit的好處在于,可以保存提交點以隨時恢復。
git stash #暫時保存工作/先不提交 git checkout filename #恢復名為filename的文件為暫存區的文件 git checkout #恢復所有文件為暫存區的版本 git reset --hard #恢復工作區和暫存區所有文件為上次commit的版本 git stash pop #移除暫存區文件遠程倉庫同步
git fetch [remote] # 下載遠程倉庫的所有變動 git remote -v # 顯示所有遠程倉庫 git remote add [shortname] [url] #新建遠程倉庫 git pull [remote] [branch]# 取回遠程倉庫的變化,并與本地分支合并 git push [remote] [branch] #上傳本地倉庫到遠程 git push #如果是同一分支,可以簡化為git push直接推送到遠程常用的遠程倉庫網站
- github全球最大的git倉庫網站,可以免費創建公開倉庫,私有倉庫要付費,國內訪問速度慢
- bitbucket另一個著名的git倉庫網站,可以免費創建公開與私有倉庫,國內訪問速度慢
- gitlabgitlab提供了一套可以安裝在私有服務器上的基于git的軟件倉庫系統,同時也提供軟件倉庫服務
- 阿里云code倉庫阿里的軟件倉庫網站,訪問速度快,可以免費創建公開和私有的倉庫,推薦使用
- 碼云國內知名度較高的軟件倉庫,可以免費創建公開和私有倉庫
- weizy個人倉庫網站基于gitlab搭建的個人公開軟件倉庫網站
常用git學習資源網站
- 阮一峰git原理入門 比較全面完整
- 阮一峰常用git命令清單 命令速查表,可以保存備查
- 廖雪峰的git教程比較簡明,有視頻版本
- git-tower教程非常系統化和全面
總結
以上是生活随笔為你收集整理的git语言包安装_Git分布式版本管理系统快速入门指南的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot定时任务实现的两种方
- 下一篇: wineskin使用教程_使用Wines