Git入門級學習

本文受【Youtube視頻An Introduction to Git and GitHub by Brian Yu】影響,想記錄一下自己關於Git所學。

感謝優質教程的創造者和分享者們,感謝能幫助人們學習的互聯網。

本文一來記錄自己所學,二來希望能給Git小白帶來一點幫助

 

什麼是Git

Git是一個版本控制軟件,幫助跟蹤你代碼(程序)的不同版本、協作你與他人共同編程。

(原視頻簡介:Git is a powerful piece of version control software that helps you to keep track of different versions of your code, collaborate on your code with other people, and experiment with new changes to your code.)

 

爲什麼要使用Git

這裏只談談本人看法,僅代表自己:

1:你擁有大量代碼資源。而當你希望能在這個工程上在加點新功能,或修改一些bug,卻不好直接修改代碼,因爲一旦你修改了,你將失去你部分代碼,當有一天你想“看看”你以前的代碼時,你將苦惱爲什麼當初沒有即使備份嗚嗚。

2:你要與他人結對編程,需要不斷通過網絡實現交流,以免自己辛辛苦苦寫好的函數、發現別人已經不要這個功能等此類情況發生。你們需要能快速詳細查看到對方在幹什麼,這項目進展到什麼位置了,而避免無意義的工作~

綜上:Git能幫助人們跟蹤代碼版本,理清脈絡、協助人們工作,加速開發!

 

下載Git

1:https://git-scm.com/download 官方網站/下載不了的可以另尋資源或Q我

2:檢測成功安裝可使用(Windows操作系統)終端cmd或Git Bash輸入git查看相關命令,如圖

cmd中使用git

 

入門Git

有關git的學習及關於git指令的學習。其中包括clone、add、commit、branch、reset、merge、status。

這些命令幫助你實現簡單的管理你的Code倉庫(如GitHub~一個大倉庫~)

 

  • Clone

        作用:克隆服務器端的倉庫放置於本地

圖片源於視頻
圖片源於youtube視頻

        格式 git clone <url>

        如:git clone https://github.com/Chentepic/helloworld.git(在下git,僅供舉例)

        注意:安裝位置依據當前文件位置:如 C:\users\ > git clone ... ,會將文件安裝在user目錄下

       

鏈接可通過github在此找到

 

 

  • Diff

        作用:查看本地Git文件(沒被add之前)被修改的不同之處(補充:當只是修改了clone下來的文件但並沒有通過add命令加入的本地git上時可使用。Windows系統下按Q退出diff)

       格式:git diff

使用Diff命令的一個例子

 

 

  • Add

        作用:添加新的或被修改的文件到本地Git上,

        格式:git add [文件名]

        例如:git add function.c ,將此文件夾下function.c 文件加入到本地Git上

 

 

  • Commit

        作用:提交一個版本於本地Git,此功能將老版本和新版本分開了。

        格式:git commit -m [文件名] “additional message”

        

        由上圖我們可以看出新版本有一個HashCode"b063f1e",加上了我的備註信息"i create..",自動記錄了修改信息"1 file chang.."

        Git貼心地說道:你儘管修改,想要做就做吧,我會給你留着老房子的。

圖片來源於Youtube視頻
 

 

 

  • Status

        作用:查看當前本地狀態。在那個branch(分支)上,領先於Commit(版本)。讓我們認清位自己的位置

        格式:git status

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==uploading.4e448015.gif轉存失敗重新上傳取消wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

   

 

 

  • Push

       作用:將本地git投遞到服務器上;

       格式:git push /  git push [branch]

圖片來源於Youtube視頻
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==uploading.4e448015.gif轉存失敗重新上傳取消wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

 

 

  • Pull

      ​​​​​作用:於push相反,將服務器版本下拉於本地

     格式:git pull

圖片來源與youtube視頻

   注意:pull時可能發生merge conflict,如:你再本地修改並add一份文件而後再次使用pull,文件中的某代碼與服務器版本有衝突就會發生merge conflict,例如:本地文件第10行b=50,服務器同樣文件b=20,你pull下拉的時候就會報錯,如圖

 

Merge Conflict
終端提示

  你需要修改後此處才能,否則無法push。

 

 

  • log

       作用:瀏覽以前版本

       格式:git log  

log 查看以前版本

     when and who and some "additional message"

 

 

  • Reset

        作用:回到之前的一個版本,但你做的改變就不見了

        Git說:你回來真好,請你把外面的不愉快都忘記

        格式:git reset hard/soft/mixed [commit hash code]

        如:git reset hard dbb259d4ac046035eb2ce38ee1dd2a84e8463f92;(回到這個版本)

        hard,soft,mixed 區別不在此介紹,只要知道hard的reset會把前面所有的修改都刪掉

 

  • Branch

        前面我們都在master branch(主幹)上修改我們的版本,可有時候我需要在其他branch(分支)上進行擴展。每個branch上都有自己的commit版本,create freedom!!!!

       用法1:git branch                                                瀏覽現存branch

       用法2:git branch [new branch name]                創建新branch     

       用法3:git checkout [branch name]                     轉到另一個branch

 

  • Merge

        作用:歸併一個branch到這個branch上 

圖片來源youtube視頻

   注意:當你的master和test的修改了同一文件而不同時,如pull一樣,會發生merge conflict,你必須在合併前修改如。

 

 

 

總結:

           一般使用Git流程是,從服務器clone一個倉庫到本地。修改一個文件代碼並add到倉庫中。diff一些看看修改了文件那些地方。當你覺得這是一個全新版本了,你就commit一個到本地。當然你隨時可以看看版本的status和log瀏覽其他版本。不用擔心以前的代碼,reset能幫助你回到老地方。準備好了嗎,post你的版本到服務器上去吧,或者從服務器上pull一個下來看看現在倉庫怎麼樣了。如果你想換個branch工作,你隨時都可以,只要記得把有用的部分merge進來。

           看來你已經學會了簡單的使用Git了!

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章