版本管理工具介紹-Git
簡介
git首先的一個作用就是備份檔案,備份你暫時寫不完的程式碼,並且記錄每次修改的歷史,存檔每次提交的程式碼,可將程式碼恢復成之前的存檔狀態,還可將我們託管的檔案在多端進行同步,就是說我們在公司裡將程式碼提交到相應託管平臺後,回到家中用家裡的電腦從平臺上取出託管的程式碼繼續寫。
版本控制工具發展歷史圖:
Git下載和安裝
windows平臺:登入github.com,在首頁上下載github客戶端,完成後它會自動安裝
linux平臺(centos):執行yum install git git --help檢視幫助
github註冊:
登入官網註冊,普通使用者可以免費不限制的建立公共倉庫,但是可以被其他人看到,想建立不能被人看到的私人倉庫每月最低好像四五十快RMB把(官網上有收費標準)。進入註冊頁面填寫使用者名稱,郵箱,密碼,完成後點選下一步是讓你選擇收費模式,可以選擇免費,確認後進入個人中心頁面,點選"傳送確認郵件"按鈕,進入自己的註冊郵箱確認。完成後就可以在自己下載的github客戶端上登入了。建立新專案:
跳轉到建立頁面,填寫你的倉庫名(不支援中文)以及描述(支援中文),選擇倉庫型別public,private是收費的,勾選生成README檔案(作用主要是寫些對專案的介紹)
進入倉庫頁面,點選右邊的Clone or download,複製裡面的URL,這URL主要使用在linux平臺下,通過git clone "url",將專案克隆到本地目錄,自己修改後再進行提交
提交專案
linux環境: 假設已經將專案clone到本地,編輯程式碼後執行git status命令,若新增了檔案,需先執行git add 新檔名(跟蹤新檔案),再git status檢查專案狀態,git commit 提交這次修改,它會讓你輸入對這次修改的描述介紹,不過這提交只是提交到本地不是提交到github,執行git push推送到github,根據提示輸入你的github的使用者名稱和密碼,提交成功後再次git status檢查狀態,現在就可以登入到github看到這次提交的內容了windows下檢出專案和提交:
點選上圖中的"Open in Desktop",選擇專案存放位置就可以在客戶端中開啟專案進行編輯,客戶端中也可以回檔,檢視歷史記錄,點選"Uncommitted changes"可以看到修改或新增的檔案,並可以新增此次修改的評論描述,點選下面的"Commit to master"提交到本地。還可以新建一個.gitignore檔案,忽略一些檔案(不會在Uncommitted changes中看到),如一些備份檔案
提交到本地後,可以看到有"Unsynced changes"(未同步的修改),因為沒有提交到github
點選客戶端右上角的同步按鈕即可同步到github
程式碼衝突:
linux平臺下解決: 因為一個專案肯定是多人合作完成的,當兩個人同時修改了相同部分的程式碼,先提交的人正常提交,第二個提交的人提交時(git push)就會出問題因為你修改的內容之前已經被人修改過了,所以git會讓你把別人修改過的程式碼git pull到本地,你來檢視別人修改的程式碼(而且合併了你修改的程式碼),看看是保留他寫的程式碼還是保留你寫的程式碼,再提交
windows下解決:
客戶端上提交後,它會提示有衝突,你將看到別人修改的程式碼和你修改的程式碼,做了取捨之後,再提交
回檔:
linux下解決: 執行git log命令檢視之前的提交記錄,可以看到很多提交記錄以及commit對應的ID複製某一個Commit ID,執行git reset --hard "ID"
"hard"是當前版本的指標,修改了ID就將程式碼回檔到當時的狀態
若想撤銷修改,執行git reflog,列出當前版本之前的版本號,當前版本ID就是第一個19aed2e
因此只要執行git reset --hard 0ce6fd2,就回到了回檔之前的版本
建立里程碑:
操作步驟:
1. 在github網站上.進入專案首頁.
2. 橫欄按鈕(commits, branches, release等),找到release按鈕.
3. 找到按鈕:draft a new release,點選進入下一頁面.
4. 填入版本號,以及說明資訊.
5. 完成後,點選publish release,將軟體釋出出去.
6. 這樣就完成里程碑建立,同時會自動生成zip下載連結.
里程碑 = 穩定版本號.
里程碑的含義是: 一個階段比較穩定的版本,正式提交發布出去.提供zip下載.
分支開發
分支在實際中有什麼用呢?假設你準備開發一個新功能,但是需要兩週才能完成,第一週你寫了50%的程式碼,如果立刻提交,由於程式碼還沒寫完,不完整的程式碼庫會導致別人不能幹活了。如果等程式碼全部寫完再一次提交,又存在丟失每天進度的巨大風險。現在有了分支,就不用怕了。你建立了一個屬於你自己的分支,別人看不到,還繼續在原來的分支上正常工作,而你在自己的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上,這樣,既安全,又不影響別人工作。
接下來就不講了,發現一個更通俗易懂的學習Git網站:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
推薦大家看看!