git學習總結

Git是目前世界上最先進的分布式版本控制系統(沒有之一)

為什么會有版本控制系統?

大家在寫論文的時候,都會碰到這樣一個頭疼的問題:在論文反復的修改過程中,你的電腦桌面上會有很多個論文版本,想刪掉一些,但又怕哪天突然會用到,只好作罷。尤其是,當你把論文交給老師或者同學修改,若干天后,他們把改后的文章發回來,但是這期間你自己也做了一些改動,這時候你還需要自己手動把這些改動合并,基于手動管理多個版本的這種不便性,版本控制系統應運而生。

分布式和集中式版本控制系統有何區別

集中式版本控制系統,常見的有CVS和SVN,其版本庫是集中存放在中央服務器的,工作的時候用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始工作,之后,再把自己的工作推送給中央服務器。
分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,雖然系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣工作,只是交換修改不方便而已。
簡而言之,分布式與集中式的區別有:

  • 集中式版本控制系統必須聯網才能工作,而分布式不必聯網;
  • 集中式版本控制系統的中央服務器如果出了問題,所有人都沒法干活,而在分布式中,如果github掛了可以重新建一個服務器,然后把任何一個人的倉庫clone過去,因為分布式版本控制的每個節點都是完整倉庫;

安裝git

在Ubuntu上安裝git非常簡單,只需要下面一條命令足以

sudo apt-get install git

如果是別的系統,可以參照安裝git.

git的基本操作

  • 配置git上的用戶名和郵箱
git config --global user.name "用戶名"
git config --global user.email "郵箱"

需要注意的是,git config命令的--global參數,用了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置。

  • 創建版本庫
    第一步,先創建一個空目錄
mkdir feilon
cd feilon

第二步,通過git init命令把這個目錄變成Git可以管理的倉庫

git init
  • 把文件添加到版本庫
git add readme.tet
commit -m "wrote a readme file"

其中git commit命令中-m后面輸入的是本次提交的說明,這樣就能從歷史記錄里方便地找到改動記錄。
Git添加文件需要add和commit兩步,是因為commit可以一次提交很多文件,所以你可以多次add不同的文件。

  • 查看倉庫的狀態
git status

git status命令可以讓我們時刻掌握倉庫當前的狀態,如果git status告訴我們有文件被修改過,此時可以用git diff查看具體的修改內容。

  • 創建與刪除分支
    首先,我們創建miao分支,然后切換到miao分支:
git checkout -b miao

git checkout命令加上-b參數表示創建并切換,相當于以下兩條命令:

git branch miao
git checkout miao

刪除分支miao的命令如下

git branch -d miao
  • 添加遠程庫
    第一步,需要在GitHub上創建一個與本地git倉庫同名的git倉庫;


    GitHub上創建新倉庫

    第二步,關聯遠程庫,在GitHub上創建好一個新倉庫后,會出現如下頁面:


    GitHub上創建倉庫后

    我們注意到,GitHub給出的地址不止一個,實際上,Git支持多種協議,可以使用ssh,也可以使用https,但通過ssh支持的原生git協議速度最快。
    在本地倉庫下運行如下命令,二選一即可:
git remote add origin https://github.com/zmfl121314/feilon.git

或者

git remote add origin git@github.com:zmfl121314/feilon.git

第三步,把當前分支master推送到遠程

git push -u origin master

由于遠程庫是空的,第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令為:

git push origin master
  • 從遠程庫克隆
    第一步,先創建遠程庫;
    第二步,從遠程庫克隆到本地,同樣的,在本地倉庫下運行如下命令,二選一即可:
git clone git@github.com:zmfl121314/feilon.git

或者

git clone https://github.com/zmfl121314/feilon.git
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 昨天開始學習git,摸索一天,記下若干要點,權當學習筆記,以備查漏補缺。 GIT配置 ** 安裝 **window...
    風間莫一閱讀 221評論 2 1
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,719評論 9 163
  • Git for windows 本文只是自己的一些學習總結,方便自己查看,如果對您閱讀不適,抱歉!!! 常用命令(...
    Lxs_597閱讀 352評論 0 0
  • 遇事心不定則亂,人家鎮定自若,氣定神閑如何修煉而成???
    阿影工作閱讀 254評論 0 0
  • 來,小黃人,給大家道聲晚安~古耐~!順便補充一下,這小黃人是一個貴州大叔捏的。他失去了右腿膝蓋以下的部分,為了謀生...
    只做自己的妞妞閱讀 706評論 0 0